lucene分页

public List<String> doSearch(IndexSearcher searcher,String queryStr,int pageNo, int showCount) throws IOException {
		List<String> list = new ArrayList<String>();
        Query query =getQuery(queryStr);
        System.out.println("Query = " + query);                
        
        TopDocsCollector<ScoreDoc> c = TopScoreDocCollector.create((pageNo-1)*showCount + showCount, false);  
        searcher.search(query, c);  
        //查询当页的记录  
        System.out.println("index:"+(pageNo-1)*showCount);
        ScoreDoc [] docs = c.topDocs((pageNo-1)*showCount, showCount).scoreDocs; 
        System.out.println("totalHits:"+c.getTotalHits());
        for(ScoreDoc scdoc : docs){  
            try {  
            	Document document = searcher.doc(scdoc.doc);
                StringBuilder sb = new StringBuilder();
                sb.append("score="+scdoc.score+"@");
                sb.append(document.get("entityField")); 
                list.add(sb.toString());
            } catch (Exception e) {  
                e.printStackTrace();  
            }  
        }  
        return list;
	}


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。