2009-07-17 44 views
3

假設我在幾臺PC上有多個lucene索引(不是副本)。Lucene多重索引:規範文檔分數?

我查詢每個索引,然後合併結果。 是否有任何方法來標準化文檔分數,以便我可以按分數(相關性)進行排序?

我的意思是,從索引A得到的文檔A的分數與從索引B得到的文檔B沒有可比性,除非我做某種歸一化....不是這樣嗎?

感謝 Roey

回答

4

首先,研究Lucene Similarity Documentation。在那裏的所有因素中,唯一一個指數不同的是inverse document frequency (idf)

我建議你使用Luke或調試器來查看不同索引的idfs的影響。 你可能會發現這隻有一個小影響。

這裏是a discussion about using a global idf,這裏 - 一個Wiki page about distributed search design in Solr。我相信這個問題還沒有解決。

Lucene評分不適合簡單的標準化。我建議你儘可能使文檔分佈儘可能隨機,然後比較兩個索引的命中次序。

+1

+1以隨機分發文檔。你必須確保這確實是一個問題。在大多數情況下,索引之間的不同DF值並不會真的傷害到你。 – bajafresh4life 2009-07-20 21:05:04

+0

我意識到這是一個古老的答案,但只是讓你知道一些鏈接中斷 – 2011-11-24 15:01:04

-1

用於比較文檔A對於索引X和Y的得分。我計算x = score(A,X)/max score of any document that is a hit for search on index Xy = score(A,Y)/max score of any document that is a hit for search on index Y

x和y現在都在0和1之間。只需添加x和y即可獲得最終得分。

這是一種天真的方法。想聽聽你對此的評論。

但我不明白你爲什麼要添加兩個不同文件的分數。用例?