如何更改 Lucene 中的评分并使用 vector 空间模型而不是 BM25?
最佳答案
您可以通过设置相似度来更改用于对文档进行评分的算法 IndexWriterConfig.setSimilarity和 IndexSearcher.setSimilarity 。请注意,您在编写和搜索时应该使用相同的相似性实现,并且通常需要在任何时候尝试不同的相似性时重新索引。
有多个 Similarity implementations开箱即用。
Lucene 旧的默认相似度是 ClassicSimilarity ,这是一个 TFIDF(即 VSM)实现,如 documented here .
但是,它不会根据您的评论实现您正在寻找的内容。它也不会为您提供一种有意义的方法来标准化分数,或建立有用的阈值,并且分数没有上限。
关于java - Lucene中使用 vector 空间模型代替BM25,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53564274/