我们使用SQL Server的全文搜索功能进行搜索。这是一个任何单词搜索,并且工作得非常好。
但是,复合术语周围的引号不适用于全文搜索。
所以,目前搜索“花生酱”首先返回花生酱,然后是花生和黄油等。
我们希望系统识别某些复合词并排除所有其他词。
所以搜索:埃塞俄比亚咖啡基地 - 仍会进行任何单词搜索。
然而,搜索:咖啡粉 - 会识别复合术语并仅返回“咖啡粉”的完全匹配。
这是建立自己的复合词词典的唯一方法吗?还有其他选择吗?
谢谢,乔恩
答案 0 :(得分:0)
只要您使用CONTAINS或CONTAINSTABLE,SQL Server就应该使用双引号并仅匹配复合词匹配。
我怀疑您使用的是FREETEXT或FREETEXTTABLE,它执行更多自然语言搜索并忽略双引号。