lucene 7.5.0默认的评分Similarity是BM25Similarity (IndexSearcher.java)
// the default Similarity private static final Similarity defaultSimilarity = new BM25Similarity();
IDF公式
- f(qi,D):就是词频
- |D|:[给定文档]D长度。
- avgdl:索引中所有文档长度。
早期的版本使用的是TFIDFSimilarity,
Lucene TFIDFSimilarity给出的理论评分公式:
对应的还有
修改相似度算法的实现可以通过下面的方法实现
/** Expert: Set the Similarity implementation used by this IndexSearcher. * */ public void setSimilarity(Similarity similarity) { this.similarity = similarity; }