Redigera

Dela via


transform noise words (server configuration option)

Applies to: SQL Server

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. 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 Description
0 Noise words (or stopwords) are not transformed. When a full-text query contains noise words, the query returns zero rows, and SQL 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. 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.
1 Noise words (or stopwords) are transformed. They are ignored, and the rest of the query is evaluated.

If noise words are specified in a proximity term, SQL Server removes them. 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)'). 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.

Effects of the transform noise words Setting

This section illustrates the behavior of queries containing a noise word, "the", under the alternate settings of transform noise words. The sample full-text query strings are assumed to be run against a table row containing the following data: [1, "The black cat"].

Note

All such scenarios can generate a noise word warning.

  • With transform noise words set to 0:

    Query string Result
    "cat" AND "the" No results (The behavior is the same for "the" AND "cat".)
    "cat" NEAR "the" No results (The behavior is the same for "the" NEAR "cat".)
    "the" AND NOT "black" No results
    "black" AND NOT "the" No results
  • With transform noise words set to 1:

    Query string Result
    "cat" AND "the" Hit for row with ID 1
    "cat" NEAR "the" Hit for row with ID 1
    "the" AND NOT "black" No results
    "black" AND NOT "the" Hit for row with ID 1

Example

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

Server Configuration Options (SQL Server)
CONTAINS (Transact-SQL)