我使用的是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")');
我的问题是:这是完成我需要的正确方法吗?我这样做是因为我需要突出搜索的术语。