Lucene分页-----SearcherAfter
2016-12-19 14:07
337 查看
1 /** 2 * 分页,SearcherAfter 3 * @param query 4 * @param pageIndex 5 * @param pageSize 6 */ 7 public void searchPageByAfter(String query,int pageIndex,int pageSize){ 8 try { 9 IndexSearcher indexSearcher = getSearcher(); 10 QueryParser parser = new QueryParser("content", new StandardAnalyzer()); 11 Query q = parser.parse(query); 12 //获取上一页的最后一个元素 13 ScoreDoc lastScoreDoc = getLastScoreDoc(pageIndex, pageSize, q, indexSearcher); 14 //通过最后一个元素搜索下页的pageSize个元素 15 TopDocs topDocs = indexSearcher.searchAfter(lastScoreDoc,q,pageSize); 16 System.out.println("共:"+topDocs.totalHits); 17 for (ScoreDoc item : topDocs.scoreDocs) { 18 Document doc = indexSearcher.doc(item.doc); 19 System.out.println("名字:" + doc.get("name") + ",邮箱:" + doc.get("email") + ",id:" + doc.get("id")); 20 } 21 } catch (Exception e) { 22 // TODO: handle exception 23 e.printStackTrace(); 24 }finally{ 25 try { 26 directory.close(); 27 } catch (IOException e) { 28 // TODO Auto-generated catch block 29 e.printStackTrace(); 30 } 31 } 32 }
测试:
@Test public void searchPageByAfter(){ SearchUtil util = new SearchUtil(); util.searchPageByAfter("like",1,3); }
相关文章推荐
- lucene-分页
- lucene查询索引库、分页、过滤、排序、高亮
- 11、学习Lucene3.5索引搜索之分页显示
- lucene 排序 分页
- lucene搜索结果分页显示 google、baidu式的分页 我在项目中的应用(二)
- Lucene中的分页搜索
- Lucene4.3.1 两种分页方式
- Lucene5.5.1入门之分页(二)
- lucene-分页
- Lucene代码备份之分页条件查询
- Lucene_demo04_分页
- lucene5.3.1简单增删改查、评分、分页
- Lucene的分页查询
- lucene的search分页实现
- lucene学习一:lucene增删改查和分页
- lucene-分页
- Lucene系列:(11)异步分页
- SSH + Lucene + 分页 + 排序 + 高亮 模拟简单新闻网站搜索引擎
- Lucene搜索结果分页 query+cache 输出
- lucene两个分页操作