Lucene(三)評分機制

2021-07-02 04:13:33 字數 807 閱讀 8298

每當搜尋到匹配文件時, 該文件都會被賦予一定的分值,用以反映匹配程度。該分值會計算文件與查詢之間的相似程度嗎,更高的分值反映了更強的相似程度和匹配程度。

評分因子

描述tf(t in d)

項頻率因子——文件(d)中出現項(t)的頻率

idf(t)

項在倒排檔案中出現的頻率:它被用來衡量項的「唯一」性。出現頻率較高的term具體較低的idf;出現較少的ter具有較高的idf

boost(t.field in d)

域和文件的加權,在索引期間設定。可以對某個域或文件進行靜態加權,預設為1.0

lengthnorm(t.field in d)

域的歸一化(normalization)值,表示域中包含的項數量。對於該因子,更短的域或更少的語彙單元能獲得更大的加權

coord(q, d)

querynorm(q)

每個查詢的歸一化,指每個查詢項權重的平方和,預設為1.0

indexsearcher類包含乙個explain方法,呼叫該方法需要傳入乙個query物件和乙個文件id,然後該方法會返回乙個explaination物件。

乙個簡單的示例程式:

//explain方法 

.0//沒有執行

//一般會有fieldweight tf(termfreq) idf(docfreq, maxdocs) fieldnorm(field, doc)

class explainer

reader.close();

directory.close();

}}

Lucene評分機制

tfidfsimilarity類中定義了lucene評分的要素。重寫這些要素計算實現可以方便的修改lucene的打分機制。擴充套件閱讀 introduction to information retrieval,chapter 6 下面將從資訊檢索模型到具體 有效地 實現來描述lucene如何實現評...

lucene 的評分機制

elasticsearch是基於lucene的,所以他的評分機制也是基於lucene的。評分就是我們搜尋的短語和索引中每篇文件的相關度打分。如果沒有干預評分演算法的時候,每次查詢,lucene會基於乙個評分演算法來計算所有文件和搜尋語句的相關評分。使用lucene的評分機制基本能夠把最符合使用者需要...

lucene 的評分機制

elasticsearch是基於lucene的,所以他的評分機制也是基於lucene的。評分就是我們搜尋的短語和索引中每篇文件的相關度打分。如果沒有干預評分演算法的時候,每次查詢,lucene會基於乙個評分演算法來計算所有文件和搜尋語句的相關評分。使用lucene的評分機制基本能夠把最符合使用者需要...