1. lucence分页
- TopScoreDocCollector topCollector = TopScoreDocCollector.create(
- 100, false);
- searcher.search(query, topCollector);
- System.out.println("命中:" + topCollector.getTotalHits());
- // 查询当页的记录
- ScoreDoc[] docs = topCollector.topDocs((pageNO - 1) * pageSize,
- 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