我在Solr中进行模糊搜索,在极少数情况下,完全匹配的得分低于模糊匹配。我什至发现了使用debugQuery的原因:模糊匹配已匹配3个不同的单词,而精确匹配仅匹配了一个单词。因此,“ 3个匹配项的和”具有更好的价值,而不是1个。这是“解释”的一部分。
即使在这种情况下,有什么方法可以配置Solr以便对完全匹配进行排名,而不是模糊?
PS我已经在使用omitTermFreqAndPositions="true" omitNorms="true",但是如果我们对不同的单词进行模糊匹配,这将无济于事。
您需要使用模糊查询的布尔 OR 查询执行具有更高提升的精确匹配的布尔查询,以便精确匹配的排名更高。不要担心 solr 的双重工作。它是为非常复杂的 Lucene 查询树而构建的。使用查询组合来获得预期的相关性排名是常见的做法。如果你同意pl。接受我的回答。