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


Параметр конфигурации сервера «transform noise words»

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

Значение

Описание

0

Пропускаемые слова (или стоп-слова) не преобразуются. Если полнотекстовый запрос содержит стоп-слова, то запрос возвращает 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" NEAR "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

См. также

Справочник

CONTAINS (Transact-SQL)

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

Параметры конфигурации сервера