希望有人能帮助我。
我有一个包含数万个文档的索引。每个文档由多个带有文本的字段和一个带有 ID(整数)的字段组成。搜索会提供 ID 列表。
为了节省资源,搜索结果的最大数量限制为 10000。通常这效果很好。现在发生了一个案例,查到的结果有10000多条。假设是 15000。Lucene 默认按照 DocID 升序搜索,因此 Lucene 会提供前 10000 个 ID。
如果 Lucene 提供最后 10000 个 ID,我会发现效果更好,这样就可以找到较新的文档。有没有办法改变 Lucene 搜索的降序?
最佳答案
只需创建一个按文档 ID 以相反顺序排序的排序即可。
Sort sort = new Sort(
new SortField(
null, // or specify a field
SortField.Type.DOC,
true
)
);
然后搜索 top、err、bottom 10K 文档:
indexSearcher.search(query, 10000);
关于java - 按文档 ID 降序搜索 Lucene,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25364268/