java - Lucene中使用 vector 空间模型代替BM25

标签 java solr lucene

如何更改 Lucene 中的评分并使用 vector 空间模型而不是 BM25?

最佳答案

您可以通过设置相似度来更改用于对文档进行评分的算法 IndexWriterConfig.setSimilarityIndexSearcher.setSimilarity 。请注意,您在编写和搜索时应该使用相同的相似性实现,并且通常需要在任何时候尝试不同的相似性时重新索引。

有多个 Similarity implementations开箱即用。

Lucene 旧的默认相似度是 ClassicSimilarity ,这是一个 TFIDF(即 VSM)实现,如 documented here .

但是,它不会根据您的评论实现您正在寻找的内容。它也不会为您提供一种有意义的方法来标准化分数,或建立有用的阈值,并且分数没有上限。

关于java - Lucene中使用 vector 空间模型代替BM25,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53564274/

相关文章:

java - Android Studio Manifest 合并失败,出现多个错误

java - 在正则表达式中重用子模式

java - 从 ArrayList 中查询字符串的一部分

solr - Solr:如何删除集合?

java - Solr 4.0 和资源加载器 : getLines undefined

solr - 如何在lucene中查询整数、 float 以及如何存储(NumericComparator)?

elasticsearch - 在Elasticsearch中创建多个索引

java - 在 WebView 中选择元素并获取详细信息

java - Hibernate 搜索索引单个租户

mysql - 反向搜索 : Phrases per document