SQL Server свободно текстовые частичные слова
Я впервые использую текстовый поиск без SQL, и меня немного смущает, почему он ведет себя так, как работает.
У меня есть таблица контактов, которые пользователи могут искать, и я использую
SELECT Contacts.*, [Rank]
FROM
FREETEXTTABLE (Contacts, *, 'O''Roarty') AS Contact1_ftt
JOIN Contacts ON Contacts.ContactID = Contact1_ftt.[Key]
который возвращает 2 результата для людей с фамилией "O'Roarty". Однако, если я ищу "Roarty", я ничего не получаю. То же самое происходит, если я ищу "Дейв", я получаю результаты, но "Дэв" не дает результатов.
Похоже, частичные слова не работают. Есть ли способ включить частичное совпадение слов?
2 ответа
Во-первых, полнотекстовый поиск не поддерживает поиск по суффиксам. Таким образом, вы не можете искать с помощью "*ave"
, Второе в отношении использования LIKE
, LIKE
А ТАКЖЕ FTS
работает по другому. Смотрите здесь для более подробной информации.
Этот MSDN Вопрос / Ответ лучше объясняет функциональность, чем я, поэтому я просто свяжу его здесь.
Вы в основном хотите использовать CONTAINSTABLE
если вы хотите частичное совпадение слов.