Я использую Sql Server 2008 R2. У меня есть таблица с полнотекстовым столбцом. Мои запросы похожи на
select fieldlist from table
where contains(field, 'FORMSOF(Thesaurus, "word")');
Мне нужно знать, какие слова использует SQL для поиска, потому что он использует мой собственный список тезаурусов. Я знаю, что могу запросить SQL Server, чтобы получить слова, используемые при выполнении:
SELECT display_term as term FROM sys.dm_fts_parser ('FORMSOF(Thesaurus, "word")', 1046, 5, 0)
Но мне нужно знать для каждой возвращаемой строки, какие слова были найдены, поэтому я создал этот запрос:
select fieldlist (
SELECT display_term as term FROM sys.dm_fts_parser ('FORMSOF(Thesaurus, "word")', 1046, 5, 0)
as f
for xml Auto, root ('items')
) as teste
from table
where contains(field, 'FORMSOF(Thesaurus, "word")');
Мой вопрос: правильный ли это путь для достижения того, что мне нужно? Я делаю это, потому что мне нужно выделить искомые термины.