transform noise words サーバー構成オプションを使用して、ノイズ ワード (ストップワード) によってフルテキスト クエリに対するブール演算が 0 行を返す場合にエラー メッセージを抑制します。 このオプションは、ブール演算または NEAR 演算にノイズ ワードが含まれる CONTAINS 述語を使用するフルテキスト クエリに役立ちます。 使用できる値を次の表に示します。
| 価値 | 説明 |
|---|---|
| 0 | ノイズ ワード (またはストップワード) は変換されません。 フルテキスト クエリにノイズ ワードが含まれている場合、クエリは 0 行を返し、SQL Server は警告を発生させます。 これが既定の動作です。 警告は実行時の警告であることに注意してください。 したがって、クエリ内のフルテキスト句が実行されない場合、警告は発生しません。 ローカル クエリの場合、フルテキスト クエリ句が複数ある場合でも、警告は 1 つだけ発生します。 リモート クエリの場合、リンク サーバーがエラーを中継しない可能性があります。したがって、警告が発生しない可能性があります。 |
| 1 | ノイズ ワード (またはストップワード) が変換されます。 これらは無視され、残りのクエリが評価されます。 ノイズ ワードが近接語で指定されている場合、SQL Server によって削除されます。 たとえば、ノイズ ワード is は CONTAINS(<column_name>, 'NEAR (hello,is,goodbye)')から削除され、検索クエリが CONTAINS(<column_name>, 'NEAR(hello,goodbye)')に変換されます。 有効な検索語句が 1 つしかないため、 CONTAINS(<column_name>, 'NEAR(hello,is)') は単純な CONTAINS(<column_name>, hello) に変換されることに注意してください。 |
変換ノイズワードの設定による効果
このセクションでは、transform noise wordsの代替設定の下にノイズ ワード "the" を含むクエリの動作を示します。 サンプルのフルテキスト クエリ文字列は、次のデータを含むテーブル行に対して実行されるものと見なされます: [1, "The black cat"]。
注
このようなシナリオはすべて、ノイズ ワード警告を生成できます。
変換ノイズ ワードが 0 に設定されている場合:
クエリ文字列 結果 " cat" と "the"結果はありません (" the" と "cat" の動作は同じです)。" cat" NEAR "the"結果はありません (" the" NEAR "cat" の動作は同じです)。" the" ではなく "black"結果なし " black" ではなく "the"結果なし 変換ノイズワードが 1 に設定されている場合:
クエリ文字列 結果 " cat" と "the"ID 1 の行にヒットしました " cat" の近くに "the"ID 1 の行に一致する " the" ではなく "black"結果なし " black" ではなく "the"ID 1 の行が対象です
例
次の例では、 transform noise words を 1 に設定します。
sp_configure 'show advanced options', 1;
RECONFIGURE;
GO
sp_configure 'transform noise words', 1;
RECONFIGURE;
GO