次の方法で共有


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 は 米国-english の LCID です。 LCID を CONTAINS 句のかっこ内の最後の項目として配置します。 検索と言語に関する重要な情報については、「 ローカライズされた検索の使用」を参照してください。

Note

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

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

Note

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) 計算できます。

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

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

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

または、二重引用符を使用するには、次のようにします。

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

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

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

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

フルテキスト列 残りのクエリと一致するプロパティ列名。
...WHERE CONTAINS (System.Author,'"James" OR "Juan"')
Boolean ブール演算子 ANDOR、または 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 で区切られた単語、語句、またはワイルドカード。 詳細については、「 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 句

概念

フルテキスト述語

非フルテキスト述語