Подстановочный знак полнотекстового поиска SQL Server - PullRequest
5 голосов
/ 19 апреля 2010

После рассмотрения этого ТАКОГО вопроса и проведения моего собственного исследования выясняется, что при использовании полнотекстового поиска вы не можете использовать символ подстановки.

Так что в самом простом примере, если у меня есть таблица с 1 столбцом, как показано ниже:

TABLE1

монета
Чеканка
undercoin

select COLUMN1 from TABLE1 where COLUMN1 LIKE '%coin%' Получите мне результаты, которые я хочу.

Как получить точно такие же результаты при включенном ПОЛНОМ ПОИСКЕ ТЕКСТА для столбца?

Следующие два запроса возвращают точно такие же данные, что не совсем то, что я хочу.

SELECT COLUMN1 FROM TABLE1 WHERE CONTAINS(COLUMN1, '"coin*"')

SELECT COLUMN1 FROM TABLE1 WHERE CONTAINS(COLUMN1, '"*coin*"')

1 Ответ

9 голосов
/ 19 апреля 2010

Полнотекстовый поиск работает на поиск слов или основ слов. Таким образом, он не находит слово «монета» где-либо в «недолете». То, что вы ищете, это возможность поиска суффиксов с использованием полнотекстового поиска, и это не делает это изначально. Есть несколько хитрых обходных путей, таких как создание обратного индекса и поиск по «nioc».

...