Я использую запрос CONTAINSTABLE с механизмом полнотекстового индексирования MS SQL Server для поиска в текстовом столбце;например:
SELECT *
FROM MyTable
INNER MERGE JOIN CONTAINSTABLE(MyTable, sDescription, 'FORMSOF(INFLECTIONAL, "brains")')
AS TBL1 ON TBL1.[key]=MyTable.ixKey
Это делает большую работу по поиску строк с описанием, включающим такие слова, как «мозги» (например, «мозг», «мозг»).Однако, когда я показываю эти результаты пользователю, я хотел бы выделить слово, которое соответствует его запросу (как в Google).Но я не могу просто искать поисковый термин в результатах: если результат содержит «мозг», я, очевидно, не могу выделить «мозги».
Может ли SQL Server сказать мне, где в столбце (либослово или символ) полнотекстовое совпадение происходит?В качестве альтернативы, я могу вручную запустить stemmer, чтобы получить все формы поискового запроса?Тогда я мог бы выделить каждый из них в отдельности.