SQL Server Полнотекстовый поиск - можно ли искать в середине слова? - PullRequest
13 голосов
/ 05 июля 2011

У меня полнотекстовый поиск в базе данных.

Можно ли искать в середине слова какой-нибудь текст?

Например, у меня есть столбец Description, который содержит следующий текст:

Revolution

Можно ли искать 'EVO' и найти его в слове Revolution, или я застрял, как LIKE:

SELECT * FROM Table WHERE Description LIKE '%EVO%'

Есть ли FTS эквивалент вышеупомянутого запроса?

EDIT
Я хочу прояснить, что я пытаюсь спросить, потому что кажется, что некоторые люди могут быть смущены. Я считаю , что SQL Server FTS может искать только в начале слова (поиск по префиксу). Поэтому, если я сделаю запрос вроде:

SELECT * FROM Table WHERE CONTAINS(Description, '"Revo*"')

Тогда он найдет слово Революция. Я хочу знать, возможно ли вообще что-то искать в СРЕДНИХ словах. Не в конце. Не в начале. Из того, как это выглядит, это невозможно, и это имеет смысл, потому что, как бы SQL-сервер индексировал это, но я просто хотел быть уверенным.

Ответы [ 2 ]

1 голос
/ 05 июля 2011

Вы можете использовать CONTAINS. Смотрите эту ссылку

Полнотекстовый каталог / поиск по индексу% book%

0 голосов
/ 05 июля 2011

Вы можете использовать CONTAINS вместо LIKE.

SELECT * 
  FROM Table 
 WHERE CONTAINS(Description, '"EVO*"')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...