次の方法で共有


サーバー構成: ノイズ ワードを変換する

適用対象:SQL Server

transform noise words サーバー構成オプションを使用して、ノイズ ワード (ストップワードとも呼ばれます) によってフルテキスト クエリでブール演算が 0 行を返した場合にエラー メッセージを抑制します。 フルテキスト クエリに使用されている CONTAINS 述語に、ノイズ ワードを含んだブール演算または NEAR 演算が存在する場合、このオプションを使用すると便利です。 次の表に、このオプションで使用可能な値を示します。

説明
0 (既定値) ノイズ ワード (またはストップワード) は変換されません。 フルテキスト クエリにノイズ ワードが含まれている場合、クエリから返される行数は 0 件となり、 SQL Server から警告が生成されます。

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

近接語句内にノイズ ワードが指定された場合、 SQL Server によって削除されます。 たとえば、ノイズ ワードである " is " は、 CONTAINS(<column_name>, 'NEAR (hello,is,goodbye)')から削除され、検索クエリは CONTAINS(<column_name>, 'NEAR(hello,goodbye)')に変換されます。 注:CONTAINS(<column_name>, 'NEAR(hello,is)') は、有効な検索語句が 1 つしかないため、単に CONTAINS(<column_name>, hello) に変換されます。

変換ノイズ語設定の効果

このセクションでは、theの代替設定の下にノイズ ワード (transform noise words) を含むクエリの動作を示します。 サンプルのフルテキスト クエリ文字列は、次のデータを含むテーブル行に対して実行することが想定されています: [1, "The black cat"]

注意

このようなシナリオでは必ず、ノイズ ワードの警告が発生する可能性があります。

  • transform noise words を 0 に設定した場合:

    クエリ文字列 結果
    cat そして the 結果はありません ( the AND catの動作は同じです)。
    cat 近く the 結果はありません ( the NEAR catの動作は同じです)。
    the かつ black ではない 検索結果がありません
    black かつ the ではない 検索結果がありません
  • transform noise words を 1 に設定した場合:

    クエリ文字列 結果
    cat そして the ID 1 の行がヒットします。
    cat 近く the ID 1 の行がヒットします。
    the かつ black ではない 検索結果がありません
    black かつ the ではない ID 1 の行がヒットします。

例示

次の例では、 transform noise words1 に設定します。

EXECUTE sp_configure 'show advanced options', 1;
RECONFIGURE;
GO

EXECUTE sp_configure 'transform noise words', 1;
RECONFIGURE;
GO