我使用this method将我的Solr 1.4索引迁移到Solr 4.0,并且在保持功能的同时保持我的solrconfig.xml和schema.xml尽可能保持不变。
我正在使用DisjunctionMaxQuery(dismax
/ solr.DisMaxRequestHandler
)requestHandler并在Solr 1.4和Solr 4之间比较我的搜索结果。在URL中使用?debugQuery = on ,我可以看到Solr版本之间parsedQuery
部分几乎相同,但生成的分数不同。 (explain
部分 不同,但计算时间很长而且很钝。)
示例查询:q = foo
示例回复:
Solr 1.4:
title: "foo (32-bit)"
score: 3.8850176
Solr 4.0:
title: "foo (32-bit)"
score: 2.1525226
尽管有相同的请求处理程序和相同的索引,但是这会导致分数的显着差异吗?
答案 0 :(得分:0)
如果解释部分不同,那么它使用不同的计算来计算分数,这样它们就会有所不同。无论如何,分数非常随意,并且基本上仅用于在查询的一个结果集内进行比较,换句话说,将一个查询的分数与另一个查询的分数进行比较是没有意义的。这可能适用于不同版本的solr,特别是如果计算的方式不同。