我使用FTS然后返回 查询“Møreforsking” 结果包含“Møre”作为单独的单词。 我知道“Møre”和“forsking”是不同的词,可以分开使用。 我该如何避免这个问题? 我想在所描述的情况下仅搜索整个单词。
答案 0 :(得分:1)
我不确定您正在使用哪个代码页,因此我无法轻松测试它(SELECT 'language_id' AS "LCID" FROM sys.fulltext_index_columns;
);如果word breaker正在分割单词,并考虑将更多的东西作为匹配的两个单词。您可以使用
SELECT * FROM sys.dm_fts_parser (' "Møreforsking" ', {YOURCODEPAGE}, 0, 0)
如果返回两个单词More and forsking那么你需要告诉FTS你的单词Moreforking。您可以创建自己的自定义词典,如果缺少该词,则添加该词。链接的microsoft technet对此有点困惑,因为它说遵循Sharepoint指令但保存在sql文件夹中。
基础是
将文件保存到SQL实例中(有时会像这样)
C:\ Program Files \ Microsoft SQL Server \\ MSSQL \ Binn
通过重新启动FTS守护程序来获取FTS以加载词典。
exec sp_fulltext_service're restart_all_fdhosts'
坏消息是你需要重新索引它才能生效;所以我会在测试中尝试它并阅读共享点文章,如果你有很多被索引的数据。