2011-08-19 10 views
2

Solrのランキングが文書を削除する(ただしパージしない)理由を知っている人は誰ですか?Solrが影響を及ぼすランキングスコア

ie。ドキュメントを追加して検索すると、そのスコアは4.7ですが、それを再追加すると(つまり、ソルが古いものを削除して同じ値をもう一度追加します)、同じ結果を得て結果にスコアを付けます4.5の。インデックスを最適化すると、スコアは4.7に戻ります。

これは、ドキュメントが論理的に削除されたが、インデックスからパージされていないときのSolrのmaxDocとnumDocの違いによるものと推測します。

これはバグですか?私の場合は、ソート順が不安定になり、無関係なドキュメント(私の結果セットにない)が削除されると、問題が発生しています。

これは、それはSolrのがデフォルトで働くというか、本当にバグではありません

-Matt

+0

私は絶対的な値が変わることを心配しないでしょう...実際の問題は*相対的な値が変化しているように見えるため、順序に影響します... –

答えて

0

のSolr 3.2.0です - あなたが最適化するまでのドキュメントを削除すると、実際にこのように、それを削除しない推測としてその時点まで統計情報には削除された文書が反映されます。利点は、削除を高速に実行できることです(最適化は通常、時折プロセスとして行われます)。他のエンジン(Xapianなど)では、実際に文書を完全に削除します。

+0

私はどのようにして/ idfの計算にmaxDocを使用しているのはなぜですか?私がオンラインで読んだところでは、それがnumDocを使用しているようです。 http://lucene.apache.org/java/3_0_0/api/core/org/apache/lucene/search/DefaultSimilarity.html#idf(int,+intけれども) 、私はクエリを実行し、それはそれは私を与える説明してもらう: 12.179339 =(MATCH)fieldWeight(CPLNumber:143251でLC059C4D2)、の積:1.0 = TF (fieldFlq(CPLNumber:LC059C4D2)= 1)12.179339 = idf(docFreq = 1、maxDocs = 143270)1.0 = fieldNorm(フィールド= CPLNumber、doc = 143251)

関連する問題