Полный текст: Как получить искомые слова при использовании тезауруса? - PullRequest
1 голос
/ 25 июля 2011

Я использую 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")');

Мой вопрос: правильный ли это путь для достижения того, что мне нужно? Я делаю это, потому что мне нужно выделить искомые термины.

...