Полнотекстовый поиск - термин поиска заказа - PullRequest
1 голос
/ 05 августа 2011

Допустим, у меня есть таблица с информацией об авторе. Имя автора хранится в формате «Фамилия, Имя» (например: Кинг, Стивен). Эта таблица запрашивается сайтом, который использует полнотекстовый поиск в Sql Server 2008. Конечный пользователь почти всегда вводит «Стивен Кинг», который не возвращает результатов. Однако, если пользователь введет «Король Стивен», результаты вернутся. Пример запроса, который работает, выглядит следующим образом:

DECLARE @SearchWord nvarchar(30)
SET @SearchWord = N'"' + 'king stephen' + '"'

SELECT Author
FROM Items
WHERE CONTAINS(Author, @SearchWord)

Есть идеи, почему я не могу заставить работать общий поисковый термин ("Стивен Кинг"), пока работает необычный способ ("Кинг Стивен")? Это может быть связано с кавычками вокруг поискового запроса, но я не уверен, как обойти это. Есть идеи? Спасибо.

1 Ответ

0 голосов
/ 15 июня 2012

размещение кавычек вокруг элемента поиска сделает его одним словом для полнотекстовых индексов, вам нужно разбить его на несколько слов, таких как «король», «стивен», чтобы получить результат

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...