Параметр конфигурации сервера «transform noise words»
transform noise words
Используйте параметр конфигурации сервера, чтобы подавить сообщение об ошибке, если шумные слова, т. е. стоп-слова, приводят к тому, что логическая операция в полнотекстовом запросе возвращает ноль строк. Этот параметр удобно использовать в полнотекстовых запросах с предикатом 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
См. также:
Параметры конфигурации сервера (SQL Server)
CONTAINS (Transact-SQL)