一个lucene搜索高亮显示的例子。
2012-04-14 19:44
597 查看
//... Above, create documents with two fields, one with term vectors (tv) and one without (notv) IndexSearcher searcher = new IndexSearcher(directory); QueryParser parser = new QueryParser("notv", analyzer); Query query = parser.parse("million"); TopDocs hits = searcher.search(query, 10); SimpleHTMLFormatter htmlFormatter = new SimpleHTMLFormatter(); Highlighter highlighter = new Highlighter(htmlFormatter, new QueryScorer(query)); for (int i = 0; i < 10; i++) { int id = hits.scoreDocs[i].doc; Document doc = searcher.doc(id); String text = doc.get("notv"); TokenStream tokenStream = TokenSources.getAnyTokenStream(searcher.getIndexReader(), id, "notv", analyzer); TextFragment[] frag = highlighter.getBestTextFragments(tokenStream, text, false, 10);//highlighter.getBestFragments(tokenStream, text, 3, "..."); for (int j = 0; j < frag.length; j++) { if ((frag[j] != null) && (frag[j].getScore() > 0)) { System.out.println((frag[j].toString())); } } //Term vector text = doc.get("tv"); tokenStream = TokenSources.getAnyTokenStream(searcher.getIndexReader(), hits.scoreDocs[i].doc, "tv", analyzer); frag = highlighter.getBestTextFragments(tokenStream, text, false, 10); for (int j = 0; j < frag.length; j++) { if ((frag[j] != null) && (frag[j].getScore() > 0)) { System.out.println((frag[j].toString())); } } System.out.println("-------------"); }
代码需要导入highlight包。
高亮显示顺便能对文本进行摘要提取。提取的摘要自动挂上高亮显示了。
相关文章推荐
- 发一个Lucene 2.4.0对搜索结果高亮显示的代码
- java lucene实现近实时搜索及高亮显示的代码例子下载
- 一个Lucene 2.4.0对搜索结果高亮显示的代码
- 发一个Lucene 2.4.0对搜索结果高亮显示的代码
- Lucene 3.0.0 对搜索结果的高亮显示
- [导入]自己动手实现 lucene 搜索代码高亮显示
- 一个lucene对数据库表做全文搜索的例子
- Lucene —— 搜索结果高亮显示
- 自己动手实现 lucene 搜索代码高亮显示
- Lucene4.7.2 搜索与高亮显示
- Lucene 3.6.2关键词高亮显示实现例子
- Lucene.net 高亮显示搜索词
- Lucene+HighLighter 搜索关键字高亮显示
- Lucene SandBox包中highlighter(高亮显示搜索结果包)存在的问题
- Lucene 对搜索关键字进行高亮显示
- 搜索学习入门--使用LuceneHighlighter高亮显示Lucene检索结果的关键词
- 一步一步跟我学习lucene(11)---lucene搜索之高亮显示highlighter
- Lucene 4.7 多关键字搜索删除并高亮显示
- lucene(补充QueryParser,Filter,高亮显示,近实时搜索)
- lucene的多个字段搜索以及分页并高亮显示