Ошибка полнотекстового списка ошибок при удалении стоп-слова - PullRequest
0 голосов
/ 19 февраля 2019

Я хочу иметь возможность выполнять полнотекстовый поиск по слову «нет», но постоянно получаю сообщение об ошибке.Ниже приведены шаги:

Я создал новый стоп-лист на основе системного стоп-листа, затем удалил слово «нет» из стоп-листа.

CREATE FULLTEXT STOPLIST ADSStopList FROM SYSTEM STOPLIST;
ALTER FULLTEXT STOPLIST ADSStopList DROP 'no' LANGUAGE 'English';

Я вижу, что «нет» былоудалено из стоп-листа:

select w.* 
from sys.fulltext_stoplists l
inner join sys.fulltext_stopwords w on l.stoplist_id = w.stoplist_id
where language = 'English' 
    and l.name = 'ADSStopList' 
    and stopword like '%no%';

Результатами стоп-слова являются another и now.no был удален.

Я запускаю тест, используя no stopword:

Select * from sys.dm_fts_parser('no part', 1033, 5, 0)

Я получаю сообщение об ошибке:

Msg 7630, Level 15, State 3, Line 99
Syntax error near 'PART' in the full-text search condition 'NO PART'.

Если я удалю слово«Нет» из функции sys.dm_fts_parser, все в порядке.Что я делаю не так?

1 Ответ

0 голосов
/ 19 февраля 2019

Разобрался.Я должен поставить строку поиска в двойных кавычках.

Select * from sys.dm_fts_parser('"no part"', 1033, 5, 0);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...