Search Service は、クエリを解析し、そのクエリに使用する演算子モードを決定します。
クエリに検索演算子 (+/-、AND、OR、NEAR など) が含まれていない場合、Search Service は、バッグ オブ ワーズ モード (bag-of-words : 単語のグループ) でクエリを解析します。その場合、クエリで指定されたすべての用語が含まれている結果のみが検索結果として返されます (つまり、ブール演算子 AND が指定された場合と同じ結果になります)。
クエリにクエリ演算子が含まれている場合、Search Service は、クエリ オペレータ モードでクエリを解析します。
AND、OR、NOT、および NEAR のクエリ演算子は、特別な記述を使用しなくても認識されます (たとえば、cat AND dog のように指定できます)。しかし、その他すべての演算子については、特別な意味を持っていることを認識させるためには、山括弧で囲まなければなりません (たとえば、<WORD> のように指定します)。
クエリで、3 つ以上の用語と 1 つの演算子を指定した場合、演算子の両側の用語が引用符で囲まれている場合と同様に解析されます。
例 : Search Service and Notification
と指定した場合、このクエリは次のように解析されます。“Search Service” AND Notification
検索演算子がローカライズされているヨーロッパ言語は、英語、デンマーク語、オランダ語、フィンランド語、フランス語、ドイツ語、イタリア語、ノルウェー語 (ブークモール)、ノルウェー語 (ニーノシュク)、ポルトガル語、およびスペイン語です。これらの言語のインタフェースで、演算子を山括弧で囲んだ場合は、英語の演算子も認識されます。たとえば、スペイン語ロケールでは、perro Y gato、perro <AND> gato、および perro gato のクエリの結果は同じになります。しかし、perro AND gato の場合、AND が山括弧で囲まれていないため、スペイン語ロケールでは同一の結果になりません。
山括弧で単語を囲んでも、その単語がサポートされている演算子の 1 つとして認識されなかった場合は無視されます。
AltaVista や Google などのインターネット検索エンジンにおいて一般的に使用されている演算子がクエリに含まれている場合、Search Service は、その検索をインターネット スタイル モードで解析します。用語の前にプラス記号 (+) がある場合、その用語は検索結果に含まれます。用語の前にマイナス記号 (-) がある場合、その用語は除外されます。クエリ内の 1 つ以上の用語の前に + がある場合、用語の前に + も - も付いてないすべての用語は、結果のランキングを引き上げるために使用されますが、含まれている必要はありません。たとえば、次のクエリの場合、+dog -cat bird
dog は含まれているが、cat は含まれていないドキュメントが検索結果として返されます。さらに、dog と bird の両方の用語が含まれているドキュメントが最上位にランク付けされます。一方、次のクエリの場合、bird -cat
bird は含まれているが、cat は含まれていないドキュメントが返されます。+ が付いている用語がないため、+ も - も付いていない用語 bird が必要な用語として扱われます。