//... 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包。
高亮显示顺便能对文本进行摘要提取。提取的摘要自动挂上高亮显示了。
分享到:
相关推荐
总的来说,这个例子是一个综合性的Web应用,它展示了如何利用Lucene进行全文搜索,结合Ajax技术实现动态更新的搜索结果展示,同时还包括了高亮显示和多次搜索的功能。这对于学习和理解Lucene在实际应用中的工作原理...
作为一个高性能的信息检索库,Lucene主要包含以下组件:索引、搜索、分析和高亮显示。在3.6版本中,它保持了对大量文档高效处理的能力,并且对查询性能进行了优化。 二、索引构建 1. 文档创建:在Lucene中,所有的...
总之,"lucene检索小例子"是一个实用的教程,通过它你可以学习到如何利用Lucene这一强大的全文搜索引擎库,实现高效、精准的文本检索功能。无论是在网站、数据库还是其他任何需要搜索功能的应用中,Lucene都是一个...
这只是一个基础的Lucene应用,实际项目中可能涉及更复杂的查询构造、多字段索引、分页搜索、高亮显示结果等。 总的来说,学习Lucene不仅能提升你的搜索引擎开发能力,也有助于你理解文本处理和信息检索的基本原理。...
这个简单的例子展示了Lucene的基本工作流程,但实际应用中可能涉及更复杂的逻辑,如多字段搜索、模糊查询、排序、过滤器和高亮显示等。Lucene还支持分布式搜索,能够处理大规模的数据集。随着对Lucene的理解深入,你...
Lucene是一个全文搜索引擎库,它提供了强大的文本搜索功能,被广泛应用于各种信息检索系统中。这本书详细介绍了Lucene的核心概念、API以及实际应用案例,帮助读者快速理解和掌握Lucene的使用。 在"lucene_demo"这个...
在"DesktopSearch1"这个项目中,可能包含了一个简单的桌面搜索应用,这个应用使用Lucene.NET 2.9进行索引和搜索,同时利用Highlighter插件来高亮显示搜索结果。开发者可能已经对原版的Lucene.NET和Highlighter插件...
描述中的“这是我自已写的Lucene与Mysql结合的例子”,说明作者创建了一个实际项目,将Lucene的功能与MySQL数据库存储的数据进行了集成。"只是个简单的示例"暗示这可能是初级或中级难度的教程,适合初学者或有一定...
《Lucene3小例子》 Lucene是一款强大的全文搜索引擎库,由Apache软件基金会开发,它提供...这个“lucene3小例子”是一个很好的起点,帮助开发者深入理解Lucene的工作原理和使用方式,为进一步的开发工作打下坚实基础。
接下来,Highlighter插件是Lucene.NET的一个附加组件,它主要用于在搜索结果中高亮显示匹配的关键词或短语。这在用户界面中非常有用,因为它可以帮助用户快速定位到他们感兴趣的信息。使用Highlighter插件,我们可以...
Lucene是一个由Java编写的高性能、可扩展的全文搜索引擎库。它提供了一种机制,使得开发者能够轻松地为自己的应用程序添加索引和搜索功能。作为Apache软件基金会的项目,Lucene具有开源和免费的特性,受到Apache软件...
Lucene 是一个高性能、全文本搜索库,由 Apache 软件基金会开发。它提供了一个简单但功能强大的 API,用于在各种应用中实现文本检索功能。Lucene 可以被集成到 Java 开发项目中,为开发者提供了全文索引和搜索的底层...
Lucene是一个开源的全文检索库,由Java编写,提供了一个高效、可扩展的信息检索框架。它的核心功能包括文本分析、索引构建、查询解析、排序和结果检索等。在3.0版本中,Lucene引入了许多增强功能和改进,比如更高效...
通过阅读和运行这些例子,开发者可以深入了解Lucene 2.0和Heritrix的协同工作方式,以及如何构建一个自定义的搜索引擎系统。同时,DWR的使用也展示了现代Web应用中前后端交互的重要技术。这些知识对于想要深入理解和...
《Lucene搜索-引擎开发权威经典》是一本深入解析Apache Lucene搜索引擎库的专业书籍,它为读者提供了构建高效全文搜索引擎的全面指南。Lucene是Java领域最著名的全文检索库,被广泛应用于各种信息检索系统中,包括...
Lucene+MySql/Sqlserver2005 例子,自己在学习lucene的过程中,做了这个小列子,是根据数据库的内容来创建索引,里面包括对查找的关键字进行高亮,对现实的内容进行了限定.对Lucene还没有进入深入的理解,里面的代码...
在信息技术领域,搜索引擎的构建是一项关键任务,而Apache Lucene是Java平台上的一个高性能、全文本搜索库。本项目着重讲解如何利用Lucene 5.5版本来实现会议期刊的检索功能,并结合JSP技术进行展示。以下是对该项目...
了解了基本的Lucene操作后,你可以进一步学习如何处理多字段、分词策略、排序、高亮显示搜索结果等高级特性。记住,Lucene是一个强大的工具,能够满足复杂的企业级搜索需求,但同时也需要深入理解和实践才能充分发挥...
【标题】:“Lucene Web”是一个简化的未完成示例,用于在Web环境中应用Lucene搜索引擎。 【描述】:此项目可能是一个简单的演示,作者提到它并未完全开发完毕,仅供其个人在办公室使用,因此不建议其他人下载。这...
- **第 2 章:快速上手**:通过一个简单的例子来演示如何使用 Lucene 创建索引并执行搜索。 - **第 3 章:理解文档和字段**:详细解释文档和字段的概念,以及如何在实际应用中合理设计文档结构。 ##### 3.2 第二...