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


Конфигурация сервера: преобразование стоп-слов

Область применения:SQL Server

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) просто, потому что существует только один допустимый поисковый термин.

Эффекты настройки преобразования шумовых слов

В этом разделе показано поведение запросов, содержащих шумное слово, theпод альтернативными параметрами transform noise words. Предполагается, что примеры строк полнотекстового запроса выполняются в строке таблицы, содержащей следующие данные: [1, "The black cat"]

Примечание.

Все подобные сценарии могут выдавать предупреждение о пропускаемых словах.

  • Если значение параметра transform noise words — 0:

    Строка запроса Результат
    cat И the Нет результатов (поведение совпадает с the AND cat.)
    cat РЯДОМ the Нет результатов (Поведение такое же для the NEAR cat.)
    the И НЕ black Нет результатов
    black И НЕ the Нет результатов
  • Если значение параметра transform noise words — 1:

    Строка запроса Результат
    cat И the Попадание для строки с идентификатором 1
    cat РЯДОМ the Попадание для строки с идентификатором 1
    the И НЕ black Нет результатов
    black И НЕ the Попадание для строки с идентификатором 1

Примеры

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

EXECUTE sp_configure 'show advanced options', 1;
RECONFIGURE;
GO

EXECUTE sp_configure 'transform noise words', 1;
RECONFIGURE;
GO