每當搜尋到匹配文件時, 該文件都會被賦予一定的分值,用以反映匹配程度。該分值會計算文件與查詢之間的相似程度嗎,更高的分值反映了更強的相似程度和匹配程度。
評分因子
描述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的評分機制基本能夠把最符合使用者需要...