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