显示从SQL Server全文查询返回的每个文档的匹配关键字

时间:2015-03-18 04:27:34

标签: sql-server full-text-search hit-highlighting

在给定任意全文搜索(FTS)查询的情况下,需要列出与查询匹配的结果文档中的关键字。例如,test or rest生成3个文档的列表,其中第一个仅包含test,第二个包含两个单词,第三个仅包含rest。解释应该产生3个列表:(test)(testrest)(rest),以便最终用户理解文档出现在查询输出中的原因。< / p>

问题与点击突出显示有关,我已经探索了现有的解决方案(例如http://www.codeproject.com/Articles/623815/Hit-Highlight-for-SQL-Server-Full-Text-SearchHow to do hit-highlighting of results from a SQL Server full-text query)。这些解决方案依赖于使用硬编码sys.dm_fts_parser的{​​{1}}来生成搜索词的所有排列。

特别是,依赖于FORMSOF (INFLECTIONAL的解决方案似乎偶然发现了前缀搜索。例如,给定2个查询sys.dm_fts_parsertest "test*"会产生不同的结果集,但select content from table where contains(content, @query, language 1033)会产生2个完全相同的记录集,但这并不能提供任何线索。为什么查询输出不同。

任何人都有类似案件的经历吗?

0 个答案:

没有答案