FREETEXT 述語
FREETEXT 述語は WHERE 句の一部であり、テキスト列内の単語と語句の検索をサポートします。 FREETEXT 述語を使用して、指定されたコンテンツまたは列全体に広がる検索単語の組み合わせを含むドキュメントを検索します。 ランク値を取得するには、SELECT ステートメントの列として、降格のランク付けである System.Search.Rank を含めます。
FREETEXT 述語には、次の構文があります。
FREETEXT
(["<fulltext_column>",]'<freetext_condition>'[,<LCID>])...
フルテキスト列参照は省略可能です。 これを使用すると、1 つの列、または FREETEXT 述語がテストされる 列グループ化エイリアス を指定できます。 フルテキスト列を "ALL" または "*" として指定すると、インデックス付きテキストプロパティがすべて検索されます。 列をテキスト プロパティにする必要はありませんが、列が他のデータ型である場合、結果は意味がない可能性があります。 列名には、通常の識別子または区切り 記号付き識別子を指定できます。また、コンマで条件から区切る必要があります。 フルテキスト条件が指定されていない場合は、ドキュメントの本文である [コンテンツ] 列が使用されます。
検索ロケールを指定して、検索クエリに適したワード ブレーカーと変曲形式を識別できます。 有効なロケール値は、Windows 標準言語コード識別子 (LCID) です。 たとえば、1033 は 米国-english の LCID です。 LCID を FREETEXT 句のかっこ内の最後の項目として配置します。 検索と言語に関する重要な情報については、「 ローカライズされた検索の使用」を参照してください。
注意
既定の検索ロケールは、システムの既定のロケールです。
フリーテキスト条件部分は単一引用符で囲む必要があり、1 つ以上の検索用語で構成されている必要があります。 FREETEXT 述語は論理操作をサポートしていません。 1 つの単語のように語句を検索するには、その語句を二重引用符で囲みます。
FREETEXT 述語を使用すると、検索クエリの結果は、すべての検索語句を含むドキュメントを返します。 用語は、特定の順序で表示する必要はありません。 検索語句の数が多いドキュメントでは、ランク列の値が高くなります。
例
次の例では、"computer"、"software"、"hardware"、またはそれらの単語の組み合わせを含むドキュメントを検索します。
WHERE FREETEXT('computer software hardware')
注意
同じ FREETEXT 述語では、単一単語一致と語句一致の両方を使用することはできません。
縮小を使用してクエリを実行する場合は、FREETEXT を使用する場合は縮小の引用符をエスケープする必要がありますが、CONTAINS を使用する場合はエスケープしないでください。
たとえば、次の構文は失敗します。
WHERE FREETEXT(*,'"We'll meet next week"')
正しい構文には、二重引用符ではなく、2 つの単一引用符が含まれています。
次の構文は成功します。
WHERE FREETEXT(*,'"We''ll meet next week"')
関連トピック
-
リファレンス
-
概念