一、文档中的代码修改下Filter:
Directory dir=FSDirectory.open(new File("E:\\lucene\\test_lucene\\index")); IndexReader r=DirectoryReader.open(dir); //IndexSearcher search=new IndexSearcher(r); IndexSearcher searcher = new IndexSearcher(r); Analyzer analyzer=new SmartChineseAnalyzer(Version.LUCENE_42); QueryParser parser = new QueryParser(Version.LUCENE_42, "countent", analyzer); Query query = parser.parse("红纸包绿纸包"); TopDocs hits = searcher.search(query, 10); SimpleHTMLFormatter htmlFormatter = new SimpleHTMLFormatter("<font color=\"red\">", "</font>"); Highlighter highlighter = new Highlighter(htmlFormatter, new QueryScorer(query)); for (int i = 0; i < hits.scoreDocs.length; i++) { int id = hits.scoreDocs[i].doc; Document doc = searcher.doc(id); String text = doc.get("countent"); TokenStream tokenStream = TokenSources.getAnyTokenStream(searcher.getIndexReader(), id, "countent", 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("Path"); tokenStream = TokenSources.getAnyTokenStream(searcher.getIndexReader(), hits.scoreDocs[i].doc, "Path", 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("-------------"); } }
二、效果如下
相关推荐
lucene3.5高亮
通过上述方法,不仅能够保持Lucene高亮显示功能的准确性,还能在处理中文分词时显著提升系统性能,特别是对于大数据量和高并发场景下的应用,这种优化显得尤为重要。Lucene的TermVector特性,配合合理的代码实现,为...
**SpringBoot+Lucene搜索结果高亮显示** 在现代Web应用程序中,强大的全文搜索引擎功能是不可或缺的,而Apache Lucene正是这样一个高效的、可扩展的开源全文检索库。在这个SpringBoot+Lucene的Demo中,我们将深入...
### Lucene高亮显示详解 在全文搜索领域,Apache Lucene是业界标准的搜索引擎库,提供了强大的文本搜索功能。而在搜索结果中实现关键词高亮显示,可以极大地提升用户体验,让用户快速定位到搜索词所在的位置。本文...
标题中的“lucene.net以及高亮的DLL文件”指的是在.NET环境中使用Lucene搜索引擎库时,涉及到了文本高亮显示的DLL组件。Lucene.Net是一个开源的全文检索库,它是Apache Lucene项目针对.NET Framework的移植版本,为...
本压缩包中的代码着重展示了如何使用 Lucene 进行分页搜索和结果高亮显示。下面将详细解释这两个关键知识点。 **一、Lucene 分页搜索** 在大型数据集上进行搜索时,一次性返回所有结果并不实际,因此分页搜索显得...
《Lucene+HighLighter高亮显示实例解析》 在信息技术领域,搜索引擎的构建与优化是至关重要的一环,其中,如何有效地对搜索结果进行高亮显示,以突出关键信息,是提升用户体验的关键因素之一。本篇文章将深入探讨...
本话题聚焦于“Lucene多字段查询”和“文字高亮显示”,这两个特性在信息检索和数据挖掘中具有广泛应用。 首先,让我们深入理解“Lucene多字段查询”。在信息检索系统中,用户可能希望根据多个字段来过滤和排序结果...
lucene-highlighter-3.5.0.jar lucene高亮包
首先,创建一个QueryScorer,然后使用SimpleHTMLFormatter设置高亮样式,最后通过Highlighter.getBestFragments方法获取高亮后的文本。 7. **性能优化**: 为了提高搜索效率,可以使用Filter和FilterCache减少搜索...
2. **设置Query解析器**:`var queryParser = new QueryParser(LuceneVersion.LUCENE_30, "content", analyzer);` 3. **获取高亮片段**:`var query = queryParser.Parse(queryText);`,然后使用`highlighter....
2. **多字段搜索(Multi-Field Search)**: 用户可以同时在多个字段上进行搜索,Lucene 4.6.0 对此提供了支持,并且允许设置不同字段的权重。 3. **复杂查询支持(Advanced Query Support)**: 包括短语查询、布尔...
4. **高亮设置**:为了高亮显示,我们需要配置一个`Highlighter`,它会找到匹配的术语并应用高亮样式。`HighlighterUtils.java`中的`Highlighter`类可能是基于`SimpleHTMLFormatter`和`TermQueryHighlighter`,这两...
《Lucene5学习之Highlighter关键字高亮》 在信息技术领域,搜索引擎的使用已经变得无处不在,而其中的关键技术之一就是如何有效地突出显示搜索结果中的关键字,这就是我们今天要探讨的主题——Lucene5中的...
- **搜索结果高亮**: 为了提高用户阅读体验,Lucene 高亮包提供了搜索关键词在文档中的高亮显示功能,使用户能快速识别出匹配的关键词。 - **自定义样式**: 开发者可以自定义高亮的样式,如使用不同的颜色或者背景...
3. **索引创建**:了解如何使用Lucene的Analyzer对数据进行分词,创建索引,包括字段设置、分析器选择等。 4. **搜索接口**:学习使用Lucene的QueryParser构建查询,执行搜索,获取匹配的文档。 5. **高亮显示**:...
SSH + Lucene + 分页 + 排序 + 高亮 模拟简单新闻网站搜索引擎--NewsWithSearch.part3 SSH + Lucene + 分页 + 排序 + 高亮 模拟简单新闻网站搜索引擎--NewsWithSearch.part2 SSH + Lucene + 分页 + 排序 + 高亮 ...
《Lucene学习实战系列:高亮与分页技术解析》 Lucene,作为Apache软件基金会的一个开源全文搜索引擎库,被广泛应用于各种搜索场景。本文将深入探讨如何在Lucene中实现高亮显示搜索结果和高效的分页功能,帮助开发者...
在这个“Lucene3.0增删改查和关键字高亮实例”项目中,我们将深入理解如何利用Lucene 3.0版本进行索引构建、文档的增删改查操作,并学习关键字高亮显示的实现方法。 首先,我们要了解**创建索引**的基本流程。在...
在Android平台上实现全文检索并高亮关键字是一项技术挑战,但通过集成Apache Lucene库,可以有效地解决这个问题。Apache Lucene是一个高性能、可扩展的信息检索库,它为开发人员提供了强大的文本搜索功能。以下是对...