Lucene学习笔记4--建立分页

List<Object> list=new ArrayList<Object>();

// 定义每次显示的搜索结果数目
final int HITS_PER_PAGE = 10;
int count = h.length();
for (int start = 0; start < h.length(); start += HITS_PER_PAGE){

int end = Math.min(h.length(), start + HITS_PER_PAGE);
for (int i = start; i < end; i++){
//打印出文件里面ArticleTitle域里面的内容
String title = h.doc(i).get(ArticleTitle);
// 打印出文件里面ArticleText域里面的内容
String text = h.doc(i).get(ArticleText);


//搜索结果高亮显示
SimpleHTMLFormatter format = new SimpleHTMLFormatter("<b><font color='red'>","</font></b>"); 
Highlighter light = new Highlighter(format, new QueryScorer(multiQuery));//高亮 
light.setTextFragmenter(new SimpleFragmenter(200)); 

// 为了在页面好遍历,把它放入集合中
if(title!=null||text!=null){ 
             TokenStream stream=analyzer.tokenStream(ArticleTitle, new StringReader(title)); 
             highTitle=light.getBestFragment(stream, title); 
            
             TokenStream streamText=analyzer.tokenStream(ArticleText, new StringReader(text)); 
             highText=light.getBestFragment(streamText, text);
            
             LuceneBean bean = new LuceneBean();
            
             bean.setNum(i+1);
             bean.setTitle(null!=highTitle?highTitle:title);
             bean.setText(null!=highText?highText:text);
             bean.setTime(h.doc(i).get(ArticleTime));
            
             list.add(bean);
             }
}

break;
}

/* 关闭 */
searcher.close();

猜你喜欢

转载自gang-zai.iteye.com/blog/716513
4--