0

この方法を使用して、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

ソル 4.0:

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

同じリクエスト ハンドラーと同じインデックスを使用しているにもかかわらず、このスコアの大きな違いの原因は何でしょうか?

4

1 に答える 1

0

説明部分が異なる場合は、異なる計算を使用してスコアを計算しているため、スコアが異なります。とにかく、スコアはかなり恣意的であり、基本的にクエリの 1 つの結果セット内での比較にのみ使用されます。つまり、あるクエリのスコアを別のクエリのスコアと比較しても意味がありません。特に計算方法が異なる場合、同じことが異なるバージョンの solr に適用される可能性があります。

于 2013-02-07T19:21:22.977 に答える