次の方法で共有


CONTAINS 述語

CONTAINS 述語は WHERE 句の一部であり、テキスト列内の単語と語句の検索をサポートします。 CONTAINS 述語には、単語の一致、単語の変曲形式の照合、ワイルドカード文字の使用、近接検索を行う機能があります。 CONTAINS 述語に重みを適用して、検索語句が見つかった列の重要度を設定することもできます。 CONTAINS 述語は、列全体に広がる検索単語の組み合わせを含むドキュメントを検索する場合に適している FREETEXT 述語とは対照的に、完全一致に適しています。 検索では大文字と小文字は区別されません。

CONTAINS 述語の基本的な構文を次に示します。

...CONTAINS(["<fulltext_column>",]'<contains_condition>'[,<LCID>])...

fulltext_column参照は省略可能です。 これを使用すると、CONTAINS 述語がテストされる 1 つの列または列グループに検索を制限できます。 フルテキスト列が "ALL" または "*" として指定されている場合は、インデックスが作成されたすべてのテキスト プロパティが検索されます。 列がテキスト プロパティである必要はありませんが、列が他のデータ型の場合、結果は意味がない可能性があります。 列名は、通常の識別子または区切り 識別子のいずれかであり、コンマで条件から区切る必要があります。 フルテキスト列が指定されていない場合は、ドキュメントの本文である System.Search.Contents 列が使用されます。

述語の LCID 部分は、検索ロケールを指定します。 これにより、検索エンジンは、検索クエリに適切なワード ブレーカーと変曲形を使用するように指示されます。 ロケールを指定するには、Windows 標準言語コード識別子 (LCID) を指定します。 たとえば、1033 は米国英語の LCID です。 LCID を CONTAINS 句のかっこ内の最後の項目として配置します。 検索と言語に関する重要な情報については、「 ローカライズされた検索の使用」を参照してください。

既定の検索ロケールは、システムの既定のロケールです。

contains_condition部分は、単一単語の単一引用符または語句の二重引用符で囲む必要があり、論理演算子 AND または OR を使用して結合される 1 つ以上のコンテンツ検索用語で構成されます。 AND 演算子の後に省略可能な単項演算子 NOT を使用して、コンテンツ検索用語の論理値を否定できます。

NOT 演算子は AND の後でのみ実行できます。 一致条件が 1 つしかない場合、または OR 演算子の後に NOT 演算子を使用することはできません。

かっこを使用して、コンテンツ検索用語をグループ化および入れ子にすることができます。 次の表では、論理演算子の優先順位について説明します。

順序 (優先順位) 論理演算子
First (最高) NOT
Second AND
3 番目 (最低) OR

同じ型の論理演算子は連想であり、指定された計算順序はありません。 たとえば、(A AND B) AND (C AND D) は、論理結果に変更を加えずに (B AND C) AND (A AND D) 計算できます。

次の表では、コンテンツ検索用語の種類について説明します。

タイプ Description 例示
ワード スペースやその他の句読点のない 1 つの単語。 二重引用符は必要ありません。
...WHERE CONTAINS ('computer')
フレーズ 複数の単語または含まれるスペース。

              
              ...WHERE CONTAINS ("コンピューター ソフトウェア"') 

または、二重引用符を使用する場合:

... WHERE CONTAINS ('"computer ""science"" "')

ワイルドカード 末尾にアスタリスク (*) が追加された単語または語句。 詳細については、「 CONTAINS 述語でのワイルドカードの使用」を参照してください。

              
              ...WHERE CONTAINS ('"compu*"') 

Matches "computer", "computers", "computation", and "compulsory"

フルテキスト列 残りのクエリと一致するプロパティ列名。
...WHERE CONTAINS (System.Author,'"James" OR "Juan"')
ブール値 ブール演算子 ANDOR、または NOT を使用して結合された単語、語句、ワイルドカード文字列。 ブール型の用語を二重引用符で囲みます。

              
              ...WHERE CONTAINS ("computer monitor" AND "software program" AND "install component") 

...WHERE CONTAINS (' "computer" AND "software" AND "install" ' )

...WHERE CONTAINS ('"computer software install"')

近く 関数 NEAR で区切られた単語、語句、またはワイルドカード。 詳細については、「 NEAR Term」を参照してください。
...WHERE CONTAINS
('"computer" NEAR "software"')
FormsOf 単語とその単語の変曲バージョンに一致します。 詳細については、「 FORMSOF 用語」を参照してください。

              
              ...WHERE CONTAINS ('FORMSOF (INFLECTIONAL, "happy")) 

Matches "happy", "happier", "happiest", "happily", and so on.

IsAbout 一致する結果を複数の単語、語句、またはワイルドカード検索語句に結合します。 各検索用語は、必要に応じて重み付けできます。 必要に応じて、重みとドキュメントが一致するアイテムの数を組み合わせたランク計算方法を指定できます。 詳細については、「 ISABOUT 用語」を参照してください。
...WHERE CONTAINS
('ISABOUT ( "computer" WEIGHT (0.75) ,
    "software" WEIGHT (0.25) ,
    "development" WEIGHT (0.255)
 ) RANKMETHOD INNER PRODUCT
')

このセクションには、次のトピックが含まれています。

リファレンス

WHERE 句

概念的

Full-Text 述語

非Full-Text 述語