java - 在版本 > 4.3 的 lucene 中获取文档分数?

标签 java lucene

之前您可以通过设置来指定获取分数

searcher.setDefaultFieldSortScoring(true, true);

this 中所写回答。

现在api建议使用以下函数,

public TopFieldDocs search(Query query,
                  Filter filter,
                  int n,
                  Sort sort,
                  boolean doDocScores,
                  boolean doMaxScore)
                    throws IOException

我只是想得到按分数排序的结果,但我不明白如何使用它。 谁能举个例子吗?

最佳答案

只要不传入排序参数,它就会按照分数排序,使用 IndexSearcher.search(Query, Filter, int)

您还可以使用 Sort.RELEVANCE constant 传入一个按相关性排序的排序实例。 , 如果你更喜欢。显然,这样做的开销比仅仅省略排序要多一些,但我怀疑这是否那么重要。

关于java - 在版本 > 4.3 的 lucene 中获取文档分数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26941994/

相关文章:

java - 使用另一个类的变量

java - Java中的深拷贝数组

java - 恒定参数设计

c++ - 在 QueryParser 中解析非字母数字字符

json - 从ElasticSearch中的结果文档中排除字段

java - 如何在 solr 字符(如重音字母)中使用 post.jar 进行索引

java - 卢塞恩 : Find result with single word search

solr - 如何手动合并solr中的段?

apache - Solr 4 - 缺少必填字段 : uuid

java - 如何在不必调用 System.exit() 的情况下终止 JavaFX 平台线程?