搜索范围按顺序分页



我得到了一个lucene.net索引与一堆文档。我拉这些MVC请求和返回到客户端作为JSON。我只想返回从我想要的索引开始的前N个文档。我需要最大限度地减少服务器和客户端之间的数据流。我需要的是:

1)第一个查询-获取前20个文档

2)第二个查询-获取从20开始的前20个文档-将是21 - 41

3)…等等

Lucene允许我设置top项。但它只从索引开始计数。是否有一个内置的可能性来设置开始索引?可能是我在lucene.net中丢失的一些高级索引器或其他东西。

谢谢!

看看这篇解释lucene分页的博文。

关键是:

int start = 20; int pageSize = 20;
Query query = qp.parse(searchTerm);  
TopDocs hits = searcher.search(query, maxNumberOfResults);  
for (int i = start; i < start + pageSize && i < hits.Length(); i++) {  
    int docId = hits.scoreDocs[i].doc;  
}

最新更新