Solr模糊匹配具有比完全匹配更好的分数

时间:2013-12-11 17:48:07

标签: solr lucene

我正在Solr进行模糊搜索,在极少数情况下,精确匹配得分低于模糊匹配。我甚至找到了使用debugQuery的原因:模糊匹配匹配3个不同的单词,精确匹配只匹配一个。因此,3个匹配的“总和”比1更有价值。 Here是“解释”的一部分。

有没有办法配置Solr来排名高于模糊的精确匹配,即使是在这种情况下?

P.S。我已经使用omitTermFreqAndPositions="true" omitNorms="true",但如果我们对不同的单词进行模糊匹配则无效。

2 个答案:

答案 0 :(得分:4)

您需要使用模糊查询的布尔OR查询来执行具有更高提升的精确匹配的布尔查询,以便精确匹配排名更高。不要担心solr的双重工作。它是为非常复杂的Lucene查询树而构建的。使用查询组合来获得预期的相关性排名是常见的做法。如果你同意pl。接受我的回答。

答案 1 :(得分:1)

我遇到了类似的问题,并通过使用copyField解决了 在单独的字段上进行精确和模糊(在我的情况下为语音)匹配。

然后使用EdisMax的{​​{1}}字段为精确字段上的匹配赋予更高的权重 对比模糊匹配。