复合词搜索引擎设计

时间:2015-03-02 13:31:38

标签: sql-server search full-text-search search-engine

我们使用SQL Server的全文搜索功能进行搜索。这是一个任何单词搜索,并且工作得非常好。

但是,复合术语周围的引号不适用于全文搜索。

所以,目前搜索“花生酱”首先返回花生酱,然后是花生和黄油等。

我们希望系统识别某些复合词并排除所有其他词。

所以搜索:埃塞俄比亚咖啡基地 - 仍会进行任何单词搜索。

然而,搜索:咖啡粉 - 会识别复合术语并仅返回“咖啡粉”的完全匹配。

这是建立自己的复合词词典的唯一方法吗?还有其他选择吗?

谢谢,乔恩

1 个答案:

答案 0 :(得分:0)

只要您使用CONTAINSCONTAINSTABLE,SQL Server就应该使用双引号并仅匹配复合词匹配。

我怀疑您使用的是FREETEXT或FREETEXTTABLE,它执行更多自然语言搜索并忽略双引号。