Как искать похожие слова в SQL Server
Я использую CONTAINS
а также FREETEXT
по SQL-запросу для поиска текста в больших текстовых полях.
Что я заметил, что поиск возвращает результат, когда точное слово совпадает, но что, если я хочу искать похожие слова?
Например, когда я набираю Carlo, ничего не отображается, если у меня есть Carlos (с S)
Ниже приведен простой запрос, аналогичный тому, который я использую:
SELECT P.*
FROM MyTable AS P
WHERE(CONTAINS(P.*, 'Carlo') OR freetext(P.*, 'Carlo'))
Как я могу заставить поиск приводить похожие слова к Карло, такие как Карлос, Карла и т. Д., Не влияя на производительность?
1 ответ
Попробуй это
SELECT P.*
FROM MyTable AS P
WHERE CONTAINS(P.*, 'FORMSOF(INFLECTIONAL, "Carlo")')
Для справки вы можете проверить документацию