Полнотекстовый поиск - не останавливая StopWords - PullRequest
3 голосов
/ 08 января 2011

Я создал полнотекстовый индекс с помощью мастера полнотекстового SQL Server, но когда я передаю запрос, он не игнорирует стоп-слова.

т.е. Это возвращает строки:

SELECT *
FROM dbo.T_Restaurant AS Restaurant
JOIN dbo.SearchView AS SearchView ON SearchView.id = Restaurant.id
WHERE CONTAINS(SearchView.TotalSearchField, ' indian & bridgwater ')

Но это не так:

SELECT *
FROM dbo.T_Restaurant AS Restaurant
JOIN dbo.SearchView AS SearchView ON SearchView.id = Restaurant.id
WHERE CONTAINS(SearchView.TotalSearchField, ' indian & in & bridgwater ')

Я знаю, что «in» - это ключевое слово в английском языке, и, тем не менее, оно не игнорируется. Индекс использует список системных стоп-слов в соответствии со своими свойствами. Я пропустил шаг, чтобы настроить список стоп-слов?

Большое спасибо,

Крис.

1 Ответ

1 голос
/ 09 января 2011

Этот синтаксис FTS работает лучше? Я думаю, что «индейцы и бриджуотер» должны были быть словосочетанием, а не искать слова, как я думаю, вы пытаетесь сделать.

SELECT *
FROM dbo.T_Restaurant AS Restaurant
JOIN dbo.SearchView AS SearchView ON SearchView.id = Restaurant.id
WHERE CONTAINS(SearchView.TotalSearchField, '"indian" AND "bridgwater"')

SELECT *
FROM dbo.T_Restaurant AS Restaurant
JOIN dbo.SearchView AS SearchView ON SearchView.id = Restaurant.id
WHERE CONTAINS(SearchView.TotalSearchField, '"indian" AND "IN" AND "bridgwater"')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...