sql - 在 SQL Server 2012 和 SQL Server 2016 中使用全文索引搜索检索的数据的差异
问题描述
SQL Server 2012 中的全文搜索存在问题,但它在 SQL Server 2016 中运行良好。
我有以下示例图像显示类似查询的输出,该查询在 2016 年返回带下划线的数据,而在其他屏幕中它不返回任何带下划线的数据,并且在 SQL Server 2012 中。
任何人都可以为此建议解决方案或建议解决此问题的任何参考,以及为什么在这些 SQL 版本之间出现这种行为的解释。
解决方案
在使用全文搜索找到此问题的解决方案后,它被确定为工作中断 .dll 是在不同版本的 SQL Server 上构建的,具有某些特殊字符作为分词器。
我们无法查看分词器列表来确认这一点,因为它是基于 .dll 的架构构建的,我们只能获取指示 .dll 文件位置的路径。要手动将字符添加到此分词器 .dll 中,可能会非常复杂且耗时,并且必须对 .dll 进行逆向工程,并尝试将上述“下划线”添加为分词器并重新创建 .dll 文件。 dll。
https://dba.stackexchange.com/questions/50366/sql-server-2012-full-text-search-break-word-underscore
参考上述 URL 的部分修复,他们能够通过将语言更改为中文 (1028) 来获得结果,但我们不能这样做,因为它可能会产生与使用全文搜索的同义词相关的其他问题。
推荐阅读
- python - 当 xpath = no such element 时停止循环
- html - 我的网站在 Firefox 和 Chrome 中看起来不同
- background-image - 将文本放置在带有 layout="responsive" 的 amp-img 中
- excel - 在 VBA 宏中执行简单的数学运算
- amazon-sqs - DeleteMessage 操作 - 无效的收据句柄
- javascript - 需要帮助将表单数据发送到电子邮件地址,使用
- java - 异常后for循环重置
- python - Matplotlib 上的乳胶没有被识别为字符串
- android - SharedPreferences.Editor.commit() 返回 true 但没有将更改写入持久存储
- google-translate - tags disappear (Google Cloud Translation API)