エンタープライズ検索 SQL 構文の CONTAINS 述語
テキスト列の単語や語句の検索をサポートする WHERE 句の一部です。
…CONTAINS([<full-text_column>,]'<contains_condition>'[,<LCID>])…
Remarks
CONTAINS 述語には、単語のマッチング、単語の語尾変化形のマッチング、ワイルドカード文字を使用した検索、および近似検索の機能があります。CONTAINS 述語は、完全一致検索に適しています。一方、FREETEXT 述語は、列全体にわたった検索語の組み合わせが含まれている複数のドキュメントの検索に適しています。
フルテキスト列参照はオプションです。これを使用する場合、CONTAINS 述語の評価対象に単一列または列グループを指定できます。フルテキスト列に "ALL" または "*" を指定した場合、すべてのインデックス テキスト プロパティが検索されます。列はテキスト プロパティである必要はありませんが、列が他のデータ型の場合は結果が無意味になる場合があります。列名の識別子は、通常のものでも区切られた識別子でもかまいませんが、コンマを使用して条件と区分する必要があります。フルテキスト列を指定しない場合、ドキュメントの本文である Contents 列が使用されます。
すべての列を示すアスタリスク (*) でフルテキスト列参照を指定することもできます。
CONTAINS 述語では検索ロケールを指定できます。これにより、検索クエリで適切なワード ブレーカ、ノイズ ワード リスト、語尾変化形、および並べ替え順序を使用するように検索エンジンに指示します。ロケールを指定するには、Microsoft Windows 標準のロケール識別子 (LCID とも呼ばれる) を指定します。たとえば、1033 は英語 (米国) の LCID です。CONTAINS 句のかっこ内の最後の項目として LCID を配置します。検索および言語に関する重要情報については、「エンタープライズ検索 SQL クエリ言語の情報」の「ローカライズされた検索を使用する」を参照してください。
注意
既定の検索ロケールは、システム既定のロケールです。
CONTAINS の条件部分は、単語の場合は単一引用符で囲み、語句の場合は二重引用符で囲む必要があります。また、論理演算子 AND または OR を使用して組み合わせた 1 つ以上のコンテンツ検索語で構成する必要があります。単項演算子 NOT を使用すると、コンテンツ検索語の論理値を否定できます。
NOT は AND の後にのみ指定できます。一致条件が 1 つだけの場合や、OR 演算子の後に、NOT 演算子を使用することはできません。
かっこを使用して、コンテンツ検索語をグループ化したり入れ子にしたりできます。次の表に、論理演算子の優先順位を示します。
順序 (優先度) |
論理演算子 |
---|---|
1 番目 (最上位) |
NOT |
2 番目 |
AND |
3 番目 (最下位) |
OR |
同じ種類の論理演算子は結合され、計算に特定の順番はありません。たとえば、(A AND B) AND (C AND D) は (B AND C) AND (A AND D) としても論理結果は同じです。
次の表は、コンテンツ検索語の種類について説明しています。
種類 |
説明 |
例 |
---|---|---|
単語 |
スペースやその他の句読点を含まない 1 つの単語。二重引用符は必要ありません。 |
…WHERE CONTAINS ('computer') |
語句 |
スペースを間に含む複数の単語。 |
…WHERE CONTAINS ('computer software') 二重引用符を使用する場合は次のようになります。 … WHERE CONTAINS('computer ""science""') |
ワイルドカード |
末尾にアスタリスク (*) を追加した単語または句。詳細については、「エンタープライズ検索 SQL 構文の CONTAINS 述部でワイルドカードを使用する」を参照してください。 |
…WHERE CONTAINS ('"compu*"') "computer"、"computers"、"computation"、"compulsory" などに一致します。 |
ブール値 |
ブール演算子 AND、OR、または NOT を使用して組み合わせた単語、語句、またはワイルドカード文字列。BOOLEAN 項を二重引用符で囲みます。 |
…WHERE CONTAINS ('computer monitor' AND 'software program' AND 'install component') … WHERE CONTAINS ('computer' AND 'software' AND 'install') …WHERE CONTAINS ('computer software install') |
Near |
関数 NEAR で区切られた単語、語句、またはワイルドカード。詳細については、「エンタープライズ検索 SQL 構文の NEAR 語」を参照してください。 |
…WHERE CONTAINS ('computer' NEAR 'software') |
FormsOf |
単語およびその単語の語尾変化形を検索します。詳細については、「エンタープライズ検索 SQL 構文の FORMSOF 用語」を参照してください。 |
…WHERE CONTAINS ('FORMSOF (INFLECTIONAL, "happy")) "happy"、"happier"、"happiest"、"happily" などが検出されます。 |
IsAbout |
複数の単語、語句、またはワイルドカード検索語の一致結果を組み合わせます。詳細については、「エンタープライズ検索 SQL 構文の ISABOUT 用語」を参照してください。 |
…WHERE CONTAINS ('ISABOUT ( "computer","software","development") ') |
このセクションの内容
エンタープライズ検索の SQL 構文のノイズ ワードおよび CONTAINS 述語
エンタープライズ検索 SQL 構文の CONTAINS 述部でワイルドカードを使用する
エンタープライズ検索 SQL 構文の RANKMETHOD 用語