在 SQL Server 2012 和 SQL Server 2016 中使用全文索引搜索检索到的数据存在差异

Difference in data retrieved with full-text index search in SQL Server 2012 and SQL Server 2016

全文搜索在 SQL Server 2012 中存在问题,但在 SQL Server 2016 中运行良好。

我有以下示例图像显示类似查询的输出,其中 returns 数据在 2016 年带有 下划线 而在其他屏幕中它没有 return SQL Server 2012 中带下划线的任何数据。

2012 年 SQL

2016 年 SQL

任何人都可以为此提出解决方案或任何建议解决此问题的参考资料,以及为什么在这些 SQL 版本之间出现这种行为的解释。

在通过全文搜索找到此问题的解决方案后,它被确定为工作断路器。dll 是在不同版本的 SQL 服务器上构建的,具有某些特殊字符作为分词器。

我们无法查看断字符列表来确认这一点,因为它是建立在基于 .dll 的体系结构上的,我们只能获取指示 .dll 文件位置的路径。要手动向此分词器 .dll 添加字符,过程可能非常复杂且耗时,并且必须对 .dll 进行逆向工程并尝试将上述 "underscore" 添加为分词器并重新创建.dll.

https://dba.stackexchange.com/questions/50366/sql-server-2012-full-text-search-break-word-underscore

参考上面的部分修复 URL 他们可以通过将语言更改为中文 (1028) 来获得结果,我们不能这样做,因为它会产生与使用完整的同义词搜索相关的其他问题-text.