構造化されていないデータで使用するために主に設計され、Firstモジュールは、問合せ語がドキュメントの先頭にどの程度近いかによって、ドキュメントをランク付けします。
Firstモジュールは、結果を可変的なサイズの層に分類します。1番目の単語は10番目の単語よりおそらく関連性がありますが、301番目の単語と310番目の単語はおそらく関連性があまり変わらないため、層は同じサイズではありません。このモジュールは、ドキュメントの先頭に近いほど、関連性がある可能性が高いという事実を利用しています。
Firstモジュールは、次のように機能します。
- 問合せが単一の語である場合、Firstの動作は直接的です。ドキュメント内の単語の最初の絶対的な位置を取得し、その位置がどの層に含まれるかを計算します。このドキュメントのスコアは、その層に基づいています。前の層の方が、後の層より優れています。
- 問合せが複数の語である場合、Firstは次のように動作します。まず、各問合せ語の絶対的な位置を決定し、次にそれらの位置の中央値を計算します。単一の語の場合に説明したように、この中央値は、ドキュメント内でこの問合せの位置として処理され、階層で使用できます。
- (ステミング、スペル修正またはシソーラスを使用した)問合せ展開がある場合、Firstモジュールは、展開された語を、ソース問合せで発生したものであるかのように処理します。たとえば、フレーズglucose intolerenceは、glucose intoleranceに修正されます(intolerenceがintoleranceにスペル修正されます)。Firstは、展開がない場合のように続行します。各語の最初の位置が計算され、これらの中央値が取得されます。
- 問合せ語の一部のみがドキュメントの一致の原因となる、部分的に一致した問合せで、Firstは、ドキュメントに出現する語と元の問合せに出現する語の共通部分が問合せ全体であるかのように動作します。たとえば、問合せcat bird dogが、単語catおよびbirdで部分的にドキュメントに一致する場合、ドキュメントは、問合せがcat birdであるかのようにスコア付けされます。一致する語がない場合、そのドキュメントは最下位の層にスコア付けされます。
注意: Firstモジュールは、ブール検索、クロスフィールド一致、ワイル ドカード検索では機能しません。そのような一致のすべてに、ゼロのスコアが割り当てられます。