我有一个网页表单,可以搜索用户上传到网站的所有照片。问题是Lucene搜索当前正在检索符合搜索条件的所有照片,即使我们只在页面上显示21张照片。这导致了严重的性能问题。是否可以将检索到的照片数量限制为21,以提高性能?
与我们可以使用例如(类别:新)将搜索限制到特定类别的方式相同,是否有类似的方法来限制点击次数?
答案 0 :(得分:0)
这就是我的意思: 搜索方法将结果数作为参数。我传递了pageSize *页面。 所以对于第1页,我只获得了pageSize文档。
然后我只为我需要的页面加载文档(使用searcher.doc())。
TopDocs hits = searcher.search(lucene_query, pageSize*(page));
ScoreDoc[] scoreDocs = hits.scoreDocs;
int j = startIndex;
int rem = 0;
while (j < scoreDocs.length && (endIndex==0 || j<endIndex)) {
ScoreDoc sd = scoreDocs[j];
Document d = searcher.doc(sd.doc);
}