適用対象: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結果はありません ( theANDcatの動作は同じです)。cat近くthe結果はありません ( theNEARcatの動作は同じです)。theかつblackではない検索結果がありません blackかつtheではない検索結果がありません transform noise words を 1 に設定した場合:
クエリ文字列 結果 catそしてtheID 1 の行がヒットします。 cat近くtheID 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