首页 > 解决方案 > SQL Server 2012 全文搜索匹配结果

问题描述

我想知道是否有一种方法可以使用FREETEXT.

例如:

SELECT * 
FROM table 
WHERE FREETEXT(column_name, 'search term')

我希望能够查看 column_name 中文本的哪些部分触发了与“搜索词”的匹配,因为FREETEXT返回的记录中搜索的列不仅仅是/部分中所述的搜索词模式匹配。FREETEXTFREETEXTTABLE

我知道 usingFREETEXTTABLE可以返回排名和键,但如果可能的话,我需要知道哪些实际术语触发了匹配。

谢谢

标签: sql-serverfull-text-searchfreetext

解决方案


Disclaimer, I haven't done this -- I'm going from documentation. 我不确定这是否能满足您的需求,但您可以看到搜索是如何被标记化的:从这里

在查询中应用给定的分词器、同义词库和停止列表组合后,您可以查看全文搜索如何使用 sys.dm_fts_parser 动态管理视图对结果进行标记。有关详细信息,请参阅sys.dm_fts_parser (Transact-SQL)

我猜您是否想知道哪个部分(令牌)导致匹配 - 您可能需要对各个令牌运行搜索并比较结果集以查看哪个令牌或多个令牌(搜索词/秒)导致给定的匹配。


推荐阅读