transform noise words オプション

ノイズ ワード (ストップ ワード) があるためにフルテキスト クエリのブール演算がゼロ行を返すような場合は、transform noise words サーバー構成オプションを使用するとエラー メッセージを非表示にできます。 このオプションは、中のブール演算または NEAR 演算がノイズ ワードを含んでいる CONTAINS 述語を使用するフルテキスト クエリを行うときに便利です。 次の表に、このオプションで使用可能な値を示します。

説明

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)') は単に CONTAINS(<column_name>, hello) に変換されます。これは、有効な検索用語が 1 つしかないためです。

transform noise words 設定の影響

このセクションでは、ノイズ ワード "the" が含まれているクエリの、transform noise words の設定を変更したときの動作について説明します。 サンプルのフルテキスト クエリ文字列は、[1, "The black cat"] が含まれたテーブル行に対して実行されるものと想定されています。

注意注意

これらのどのシナリオでも、ノイズ ワード警告が生成される場合があります。

  • transform noise words が 0 に設定されている場合 :

    [クエリ文字列]

    結果

    "cat" AND "the"

    結果なし (動作は "the" AND "cat" の場合と同じ)

    "cat" NEAR "the"

    結果なし (動作は "the" AND "cat" の場合と同じ)

    "the" AND NOT "black"

    結果なし

    "black" AND NOT "the"

    結果なし

  • transform noise words が 1 に設定されている場合 :

    [クエリ文字列]

    結果

    "cat" AND "the"

    ID 1 の行にヒット

    "cat" NEAR "the"

    ID 1 の行にヒット

    "the" AND NOT "black"

    結果なし

    "black" AND NOT "the"

    ID 1 の行にヒット

次の例では、transform noise words が 1 に設定されます。

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