Как искать похожие слова в SQL Server

Я использую CONTAINS а также FREETEXT по SQL-запросу для поиска текста в больших текстовых полях.

Что я заметил, что поиск возвращает результат, когда точное слово совпадает, но что, если я хочу искать похожие слова?

Например, когда я набираю Carlo, ничего не отображается, если у меня есть CarlosS)

Ниже приведен простой запрос, аналогичный тому, который я использую:

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")')

Для справки вы можете проверить документацию

Другие вопросы по тегам