Lucence使用笔记

1. lucence分页

  1. TopScoreDocCollector topCollector = TopScoreDocCollector.create(  
  2.                     100false);          
  3. searcher.search(query, topCollector);  
  4. System.out.println("命中:" + topCollector.getTotalHits());  
  5.  // 查询当页的记录    
  6. ScoreDoc[] docs = topCollector.topDocs((pageNO - 1) * pageSize,  
  7.                     pageSize).scoreDocs;;

2. 多字段排序使用org.apache.lucene.search.TopFieldCollector

3.高亮显示格式化查询结果:

 

SimpleHTMLFormatter simpleHTMLFormatter = new SimpleHTMLFormatter("<b><font color='red'>", "</font></b>"); 

Highlighter highlighter = new Highlighter(simpleHTMLFormatter, new QueryScorer(query));  

highlighter.setTextFragmenter(new SimpleFragmenter(Integer.MAX_VALUE))

TokenStream tokenStream = getAnalyzer().tokenStream(FIELD_TITLE, new StringReader(value));  
                    String str = highlighter.getBestFragment(tokenStream, value); 

System.out.println(str);
 

参考:

http://lucene-group.group.iteye.com/group/topic/24156

http://hi.baidu.com/shirdrn/blog/item/f5ca984cbe7111fcd72afcd3.html

http://sosuny.iteye.com/blog/509505

lucence专栏:

http://www.iteye.com/blogs/subjects/lucene

Lucence并发:

http://www.cnblogs.com/likehua/archive/2012/02/16/2354532.html

猜你喜欢

转载自alexgao.iteye.com/blog/1539954