solr dismax识别短语匹配

时间:2012-10-02 09:33:07

标签: solr lucene edismax

我正在使用edismax查询处理程序在文本字段中搜索“我想要本田自行车”。

我的目的是找出有“本田自行车”的文档。

现在结果包含“本田”,“自行车”和“本田自行车”。基本上我对“本田”和“自行车”不感兴趣。我其实对“本田自行车”感兴趣。

有没有办法确定字段中的短语是否与用户查询匹配?

3 个答案:

答案 0 :(得分:2)

我会调查这些参数 - pf,pf2和pf3。

pf - 短语字段。这样可以增强q值非常接近的文档。

pf2和pf3 - 将输入切换为双字母(或三字母组合)。

还有一些slop设置可以为匹配提供一些余地。

http://wiki.apache.org/solr/ExtendedDisMax#pf_.28Phrase_Fields.29

答案 1 :(得分:1)

问题是IDF令人不安的分数因此我无法完全依靠得分来自信地说出完美匹配的内容。 所以我禁用了IDF计算。

看看

http://lucene.472066.n3.nabble.com/Identify-exact-search-in-edismax-td4011859.html#a4011976

答案 2 :(得分:0)

这里可以使用

mm(最小'应该匹配)功能

http://wiki.apache.org/solr/ExtendedDisMax