適用対象: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
ANDcat
の動作は同じです)。cat
近くthe
結果はありません ( the
NEARcat
の動作は同じです)。the
かつblack
ではない検索結果がありません black
かつthe
ではない検索結果がありません transform noise words を 1 に設定した場合:
クエリ文字列 結果 cat
そしてthe
ID 1 の行がヒットします。 cat
近くthe
ID 1 の行がヒットします。 the
かつblack
ではない検索結果がありません black
かつthe
ではないID 1 の行がヒットします。
例示
次の例では、 transform noise words
を 1
に設定します。
EXECUTE sp_configure 'show advanced options', 1;
RECONFIGURE;
GO
EXECUTE sp_configure 'transform noise words', 1;
RECONFIGURE;
GO