transform noise words サーバー構成オプションtransform noise words Server Configuration Option

適用対象: ○SQL Server XAzure SQL Database XAzure SQL Data Warehouse XParallel Data WarehouseAPPLIES TO: yesSQL Server noAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

ノイズ ワード ( ストップワード ) があるためにフルテキスト クエリのブール演算から返される行数が 0 件になる場合、 transform noise wordsサーバー構成オプションを使用してエラー メッセージを非表示にすることができます。Use the transform noise words server configuration option to suppress an error message if noise words, that is stopwords, cause a Boolean operation on a full-text query to return zero rows. フルテキスト クエリに使用されている CONTAINS 述語に、ノイズ ワードを含んだブール演算または NEAR 演算が存在する場合、このオプションを使用すると便利です。This option is useful for full-text queries that use the CONTAINS predicate in which Boolean operations or NEAR operations include noise words. 次の表に、このオプションで使用可能な値を示します。The possible values are described in the following table.

[値]Value DescriptionDescription
00 ノイズ ワード (ストップワード) は変換されません。Noise words (or stopwords) are not transformed. フルテキスト クエリにノイズ ワードが含まれている場合、クエリから返される行数は 0 件となり、 SQL ServerSQL Server から警告が生成されます。When a full-text query contains noise words, the query returns zero rows, and SQL ServerSQL Server raises a warning. これは既定の動作です。This is the default behavior.

注:警告は実行時の警告です。Note: The warning is a run-time warning. そのため、クエリ内のフルテキスト句が実行されていない場合、警告は発生しません。Therefore, if the full-text clause in the query is not executed, the warning is not raised. ローカル クエリの場合、複数のフルテキスト クエリ句がある場合でも、発生する警告は 1 つだけです。For a local query, only one warning is raised, even when there are multiple full-text query clauses. リモート クエリの場合、リンク サーバーがエラーを中継しない場合があるので、警告が発生しないことがあります。For a remote query, the linked server might not relay the error; therefore, the warning might not be raised.
11 ノイズ ワード (ストップワード) の変換が行われます。Noise words (or stopwords) are transformed. これらは無視されて、残りのクエリが評価されます。They are ignored, and the rest of the query is evaluated.

近接語句内にノイズ ワードが指定された場合、 SQL ServerSQL Server によって削除されます。If noise words are specified in a proximity term, SQL ServerSQL Server removes them. たとえば、ノイズ ワードである " is " は、 CONTAINS(<column_name>, 'NEAR (hello,is,goodbye)')から削除され、検索クエリは CONTAINS(<column_name>, 'NEAR(hello,goodbye)')に変換されます。For example, the noise word is is removed from CONTAINS(<column_name>, 'NEAR (hello,is,goodbye)'), transforming the search query into CONTAINS(<column_name>, 'NEAR(hello,goodbye)'). CONTAINS(<column_name>, 'NEAR(hello,is)') は、有効な検索用語が 1 つしか存在しないため、単純に CONTAINS(<column_name>, hello) に変換されます。Notice that CONTAINS(<column_name>, 'NEAR(hello,is)') would be transformed into simply CONTAINS(<column_name>, hello) because there is only one valid search term.

transform noise words 設定の影響Effects of the transform noise words Setting

このセクションでは、ノイズ ワードである "the" を例に、 transform noise wordsの設定によるクエリ動作の違いを見ていきます。This section illustrates the behavior of queries containing a noise word, "the", under the alternate settings of transform noise words. サンプルのフルテキスト クエリ文字列は、 [1, "The black cat"]というデータを含んだテーブル行に対して実行するものとします。The sample full-text query strings are assumed to be run against a table row containing the following data: [1, "The black cat"].

注意

このようなシナリオでは必ず、ノイズ ワードの警告が発生する可能性があります。All such scenarios can generate a noise word warning.

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

    クエリ文字列Query string 結果Result
    "cat" AND "the""cat" AND "the" 結果は返されません ("the" AND "cat" の場合も動作は同じ)。No results (The behavior is the same for "the" AND "cat".)
    "cat" NEAR "the""cat" NEAR "the" 結果は返されません ("the" NEAR "cat" の場合も動作は同じ)。No results (The behavior is the same for "the" NEAR "cat".)
    "the" AND NOT "black""the" AND NOT "black" 検索結果がありませんNo results
    "black" AND NOT "the""black" AND NOT "the" 検索結果がありませんNo results
  • transform noise words を 1 に設定した場合:With transform noise words set to 1:

    クエリ文字列Query string 結果Result
    "cat" AND "the""cat" AND "the" ID 1 の行がヒットします。Hit for row with ID 1
    "cat" NEAR "the""cat" NEAR "the" ID 1 の行がヒットします。Hit for row with ID 1
    "the" AND NOT "black""the" AND NOT "black" 検索結果がありませんNo results
    "black" AND NOT "the""black" AND NOT "the" ID 1 の行がヒットします。Hit for row with ID 1

Example

次の例では、 transform noise words1に設定します。The following example sets transform noise words to 1.

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

参照See Also

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