0

我已使用此方法将我的 Solr 1.4 索引迁移到 Solr 4.0 ,并且我尽可能保持我的 solrconfig.xml 和 schema.xml 不变,同时仍然可以正常工作。

我正在使用 DisjunctionMaxQuery ( dismax/ solr.DisMaxRequestHandler) requestHandler 并比较 Solr 1.4 和 Solr 4 之间的搜索结果。在 URL 中使用?debugQuery=on,我可以看到parsedQuerySolr 版本之间的部分几乎相同,但生成的分数是不同的。(explain部分不同,但计算冗长且晦涩。

示例查询:q=foo
示例响应:
Solr 1.4:

title: "foo (32-bit)"
score: 3.8850176

索尔 4.0:

title: "foo (32-bit)"
score: 2.1525226

尽管具有相同的请求处理程序和相同的索引,但什么会导致分数出现这种显着差异?

4

1 回答 1

0

如果解释部分不同,那么它使用不同的计算来计算分数,因此它们会有所不同。无论如何,分数都是相当随意的,基本上只用于在查询的一个结果集中进行比较,换句话说,将一个查询的分数与另一个查询的分数进行比较是没有意义的。这可能适用于不同版本的 solr,尤其是在计算方式不同的情况下。

于 2013-02-07T19:21:22.977 回答