0

如何在 lucene4 中获得更多文档。这是我的代码。

int limit = 1000;
TopFieldColletor collector = TopFieldColletor.create(sort,limit,true,false,false,false);
searcher.search(query,collector);
ScoreDoc[] sds = collector.topDocs().scoreDocs;
System.out.println("sd:" + sds.length);   
System.out.println("total:" + collector.getTotalHits());

这是我的结果:
sd:1000
total:9060
我的问题是我拿到了 1000 个 doc,如何获得下 1000 个,直到结束。

4

1 回答 1

0

请参阅此问题以直接回答您的问题:Paging Lucene's search results

也就是说,我还没有看到一个用户会尝试查看 1000 个搜索结果。大多数甚至不会超过前 100 个。

因此,创建允许用户在前 10 个结果(顶部)中获得所需结果的搜索元数据要高效得多。谷歌花费最多脑力的地方:把最好的结果推到顶峰。

如果你想让它由计算机处理,那么答案是:提高限制。每个查询要求 10,000 个文档。没有办法告诉 Lucene“继续”或继续搜索。

于 2013-09-10T07:30:28.980 回答