2013-04-03 68 views
4

這個問題很少令人困惑。我是Lucene的新手,並閱讀文檔。我發現adding boost to a field,增加了領域的規範,從而增加了搜索時的詞條的得分。索引時,搜索時可能影響詞條分數的因素是什麼

I.E.在索引時增加字段可能會影響搜索時的分數。我的問題是,除了助推之外,還有其他方法可以做到這一點嗎?請指教。

+0

簡短的回答,沒有。有三種類型的增強(文檔,字段和查詢)可用,並且,雖然影響分數的因素很多,但增強是您直接修改評分的途徑。如果你需要創建更復雜的定製來評分,你需要一種自定義的相似度來處理它。 – femtoRgon

+0

非常精確。謝謝。 :) –

回答

5

在Lucene 4.x之前,曾經有一個基於矢量空間模型的評分公式。

以下是有助於Lucene評分的因素。

1)Tf:術語頻率,即文檔中術語的頻率。

2)IDF:逆文檔頻率:那有項)日誌文件(集合大小/數「這個公式可能會有所不同

3)現場升壓:你所提到的一個。它同時提供索引

4)座標:。基於有多少查詢詞的得分系數指定的文檔中找到

5)曲eryNorm(q)是用於使查詢之間的分數具有可比性的標準化因子。這個因素不影響文檔的排名(因爲所有排文件由同一倍數),而只是試圖使來自不同的查詢分數(甚至不同的指數)相媲美

6)規範(T,d)封裝了一些(索引時間)提升和長度因子:

a)文檔增強 - 在將文檔添加到索引之前調用doc.setBoost()來設置。

b)字段提升 - 通過在將字段添加到文檔之前調用field.setBoost()來設置。

c)lengthNorm - 根據文檔中此字段的標記數將文檔添加到索引時計算的,以便較短的字段對分數貢獻更多。 LengthNorm由在索引處生效的相似性類來計算。

7)內提振:是項t在查詢q

搜索時間提升爲深入Lucene的默認計分公式知識:檢查文檔:Lucene Similarity

隨着新版本的Lucene 4.x,像BM25一樣引入了新的評分公式。有關詳細信息,請檢查Lucene 4.2 Similarity

子類可以實現類似的子類來定製上述所有因素的得分。這裏是一個Example...

相關問題