Поделиться через


Параметр transform noise words

Параметр конфигурации сервера transform noise words подавляет сообщения об ошибках, если из-за фильтрации пропускаемых слов, то есть стоп-слов, логическая операция для полнотекстового запроса не возвращает ни одной строки. Этот параметр полезен в полнотекстовых запросах, использующих предикат CONTAINS, где логические операции или NEAR включают пропускаемые слова. Возможные значения описаны в следующей таблице.

Значение

Описание

0

Пропускаемые слова (стоп-слова) не преобразованы. Когда полнотекстовый запрос содержит пропускаемые слова, запрос возвращает ноль строк и SQL Server выдает предупреждение. Это поведение применяется по умолчанию.

ПримечаниеПримечание
Это предупреждение относится ко времени выполнения, поэтому, если полнотекстовое предложение в запросе не выполняется, предупреждение не выдается. Для локального запроса предупреждение возвращается только при наличии в нем нескольких полнотекстовых предложений. Для удаленного запроса связанный сервер не всегда может переслать ошибку, поэтому и предупреждение выдается не всегда.

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), так как в запросе осталось всего одно поисковое слово.

Эффект параметра 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»

    Попадание для строки с идентификатором 1

    «cat» NEAR «the»

    Попадание для строки с идентификатором 1

    «the» AND NOT «black»

    Нет результатов

    «black» AND NOT «the»

    Попадание для строки с идентификатором 1

Пример

В следующем примере параметр transform noise words устанавливается в значение 1.

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

См. также

Справочник

Основные понятия