次の方法で共有


ノイズワードを変換するサーバー構成オプション

transform noise words サーバー構成オプションを使用して、ノイズ ワード (ストップワード) によってフルテキスト クエリに対するブール演算が 0 行を返す場合にエラー メッセージを抑制します。 このオプションは、ブール演算または NEAR 演算にノイズ ワードが含まれる CONTAINS 述語を使用するフルテキスト クエリに役立ちます。 使用できる値を次の表に示します。

価値 説明
0 ノイズ ワード (またはストップワード) は変換されません。 フルテキスト クエリにノイズ ワードが含まれている場合、クエリは 0 行を返し、SQL Server は警告を発生させます。 これが既定の動作です。

警告は実行時の警告であることに注意してください。 したがって、クエリ内のフルテキスト句が実行されない場合、警告は発生しません。 ローカル クエリの場合、フルテキスト クエリ句が複数ある場合でも、警告は 1 つだけ発生します。 リモート クエリの場合、リンク サーバーがエラーを中継しない可能性があります。したがって、警告が発生しない可能性があります。
1 ノイズ ワード (またはストップワード) が変換されます。 これらは無視され、残りのクエリが評価されます。

ノイズ ワードが近接語で指定されている場合、SQL Server によって削除されます。 たとえば、ノイズ ワード isCONTAINS(<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 words1 に設定します。

sp_configure 'show advanced options', 1;  
RECONFIGURE;  
GO  
sp_configure 'transform noise words', 1;  
RECONFIGURE;  
GO  

こちらもご覧ください

サーバー構成オプション (SQL Server)
CONTAINS (Transact-SQL)