Показать подходящие ключевые слова для каждого документа, возвращенного из полнотекстового запроса SQL Server

Учитывая произвольный запрос полнотекстового поиска (FTS), необходимо перечислить ключевые слова из результирующего документа, которые соответствуют запросу. Например, test or rest выдает список из 3-х документов, где 1-й содержит только test2-й содержит оба слова, а 3-й имеет только rest, Объяснение должно составить 3 списка:(test) (test, rest) (rest) для конечного пользователя, чтобы понять, почему документы появились в выводе запроса.

Этот вопрос связан с выделением совпадений, и я изучил существующие решения (например, http://www.codeproject.com/Articles/623815/Hit-Highlight-for-SQL-Server-Full-Text-Search или Как это сделать подсвечивание результатов полнотекстового запроса SQL Server). Эти решения основаны на sys.dm_fts_parser кормили жестко FORMSOF (INFLECTIONAL произвести все перестановки поискового термина.

В частности, решения, основанные на sys.dm_fts_parser кажется, наткнуться на поиск префикса. Например, дано 2 запроса test а также "test*"select content from table where contains(content, @query, language 1033) производит разные наборы результатов, но select * from sys.dm_fts_parser(@query, 1033, 0, 1) дает 2 абсолютно идентичных набора записей, что не дает никакого представления о том, почему результаты запроса различны.

У кого-нибудь есть опыт работы с подобными случаями?

0 ответов

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