我希望有人可以帮助我。
我有一个包含数万个文档的索引。每个文档由几个带文本的字段和一个带ID(整数)的字段组成。搜索提供了ID列表。
为节省资源,搜索结果的最大数量限制为10000.通常情况下效果非常好。现在发生了一个案例,其中将发现超过10000个结果。让我们说15000.默认情况下,Lucene会按照DocID的递增顺序进行搜索,因此Lucene会提供前10000个ID。
如果Lucene提供最后10000个ID,我会发现它更好,因此找到了更新的文档。有没有办法按递减顺序更改Lucene搜索?
答案 0 :(得分:0)
只需按顺序创建按文档ID排序的排序。
Sort sort = new Sort(
new SortField(
null, // or specify a field
SortField.Type.DOC,
true
)
);
然后搜索top,err,bottom 10K docs:
indexSearcher.search(query, 10000);