sql-server - SQL Server 2012 全文搜索匹配结果
问题描述
我想知道是否有一种方法可以使用FREETEXT
.
例如:
SELECT *
FROM table
WHERE FREETEXT(column_name, 'search term')
我希望能够查看 column_name 中文本的哪些部分触发了与“搜索词”的匹配,因为FREETEXT
返回的记录中搜索的列不仅仅是/部分中所述的搜索词模式匹配。FREETEXT
FREETEXTTABLE
我知道 usingFREETEXTTABLE
可以返回排名和键,但如果可能的话,我需要知道哪些实际术语触发了匹配。
谢谢
解决方案
Disclaimer, I haven't done this -- I'm going from documentation.
我不确定这是否能满足您的需求,但您可以看到搜索是如何被标记化的:从这里
在查询中应用给定的分词器、同义词库和停止列表组合后,您可以查看全文搜索如何使用 sys.dm_fts_parser 动态管理视图对结果进行标记。有关详细信息,请参阅sys.dm_fts_parser (Transact-SQL)。
我猜您是否想知道哪个部分(令牌)导致匹配 - 您可能需要对各个令牌运行搜索并比较结果集以查看哪个令牌或多个令牌(搜索词/秒)导致给定的匹配。
推荐阅读
- reactjs - 如何在 mern 堆栈中获取注册表单的国家/地区列表?
- google-apps-script - 将 ImportRange 生成的 Google 电子表格单元格值自动传输到另一个工作表和单元格
- wix - WIX:仅阻止更新某些旧版本
- c++ - 如何使用数组打印 10 位大数字的反转?
- mongodb - MongoDB $sample 很慢
- oauth-2.0 - 拒绝在框架中显示“google oauth2”,因为它将“X-Frame-Options”设置为“DENY”
- html - 如何使用 CSS 中的 :nth-child() 属性在列表中添加背景颜色(在链接中显示参考图像)
- asp.net-web-api - Postman 无法访问从 Visual Studio 2019 运行的基于 Windows 身份验证的 WebAPI
- python - 如何对csv文件的行进行排序?
- javascript - 我试图运行命令 Discord.js 但出现错误“TypeError:无法读取未定义的属性'get'”