Полнотекстовый поиск - содержит таблицу - рейтинг 0 - PullRequest
1 голос
/ 05 марта 2019

Использование SQL Server 2016.

У меня есть таблица в базе данных, которая содержит продукты, которые я ищу по ключевым словам с помощью полнотекстового поиска. Наш клиент попросил, чтобы мы удалили один символ «n» из стоп-списка, чтобы разрешить поиск по таким терминам, как «fish n chips» (ненастоящий пример).

Однако после изменения стоп-списка и перестроения индекса я вижу неожиданные результаты, в частности, нулевой ранг:

SELECT * FROM  CONTAINSTABLE (dbo.Products, Keywords, ' "no*"')
SELECT * FROM  CONTAINSTABLE (dbo.Products, Keywords, ' "n*"')

Дает мне результаты:

enter image description here

Как видите, я получаю ранг 0 за все результаты. Я пробовал это с другими персонажами, и я получил RANK, как и ожидалось. Я проверил стоп-листы по:

SELECT * FROM sys.fulltext_stoplists
SELECT * FROM sys.fulltext_stopwords 
WHERE stoplist_id = 5 AND language_id = 1033

В общем, я не вижу причин для возврата ранга 0. Что меня больше смутило, так это то, что у меня есть вторая база данных на том же сервере, использующая тот же индекс и список остановки, и это не проблема.

Я изучал это и видел людей, имеющих эту проблему около FREETEXTTABLE, однако проблема здесь не в нехватке данных.

Если у кого-то есть идеи о вещах, которые я могу проверить, чтобы помочь отследить это, они будут с благодарностью приняты.

...