前面一篇文章的介绍是简单的了解lucene 的语法 知道所以然,所以检索内容是自己建的.这篇可以动态
的增加建索引的内容,如果到时信息来源在数据库,就可以直接读数据库的信息 然后建索引了
这样可以更深的了解lucene搜索.换了一种方法.多一种方法多一种思想.因为这种方法更实际
public static void main(String[] args) throws CorruptIndexException,
LockObtainFailedException, IOException {
String content = "学JAVA到刘志猛博客"; // 定义要建索引的内容
String sql = "刘志猛"; // 要搜索的关键字
Hits hits = null; //Hits类――检索结果
Query query = null;
// RAMDirectory directory = new RAMDirectory();
IndexWriter writer = new IndexWriter("c:\\indexM",
new StandardAnalyzer(), true);// 这要注意思下
// new StandardAnalyzer() 是标准过虑,new WhitespaceAnalyzer() 是空格过虑
// 如果用new WhitespaceAnalyzer() 就是把content="刘志猛 中华 人民国" 按空格来检索了
// 这方面主知识可以 查 分析器Analysis相关内容
Document doc = new Document();
doc.add(new Field("field", content, Field.Store.YES,
Field.Index.ANALYZED));
writer.addDocument(doc);
writer.close();
// 建索引end
// 查询
IndexSearcher searcher = new IndexSearcher("c:\\indexM");
QueryParser parser = new QueryParser("field", new StandardAnalyzer());
try {
query = parser.parse(sql);
hits = searcher.search(query);
for (int i = 0; i < hits.length(); i++) {
if (hits.length() > 0) {
Document document = hits.doc(i);
System.out.println("内容:" + document.get("field"));
String str = document.get("field");
str = str.replaceAll(sql, "#" + sql + "#");// 在这我把关键字做了一个替换.这种方法可以模仿google
// 关键字变红 在这我有#替换了 如果是html页面,可以用html语言替换
System.out.println(str);
} else {
System.out.println("没有查到结!");
}
}
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
官方链接:
http://www.liuzm.com/article/java/9114a.htm
官方博客:
http://www.liuzm.com
分享到:
相关推荐
Lucene入门与使用,非常简单,适合入门
**Lucene 全文搜索引擎实例:Java Lucene 实例** Lucene 是 Apache 软件基金会的一个开源项目,它提供了一个高性能、可扩展的信息检索库。这个实例将深入讲解如何在 Java 中使用 Lucene 来创建索引并执行各种搜索...
**Lucene入门学习文档** **一、什么是Lucene** Lucene是Apache软件基金会下的一个开源全文检索库,它提供了一个高性能、可扩展的信息检索服务。Lucene最初由Doug Cutting开发,现在已经成为Java社区中事实上的标准...
**Lucene实现企业搜索实例** 在企业环境中,高效、精准的搜索能力是至关重要的,它可以帮助员工快速定位信息,提高工作效率。Apache Lucene是一个开源的全文检索库,它提供了强大的文本搜索功能,能够帮助企业构建...
**Lucene 3.0 入门实例** Lucene 是一个高性能、全文本搜索库,由 Apache 软件基金会开发。它提供了完整的搜索功能,包括索引、查询解析、排序以及高级的文本分析能力。在 Lucene 3.0 版本中,开发者可以利用其强大...
《Lucene使用代码实例之搜索文档》 Lucene是一个高性能、全文检索库,它提供了强大的文本分析和索引功能,广泛应用于搜索引擎开发和其他需要高效文本处理的场景。本篇文章主要面向初学者,通过实例详细解释如何使用...
《Lucene 4.7 开发简单实例详解》 Lucene 是一款强大的全文搜索引擎库,广泛应用于各种信息检索系统中。在本实例中,我们将深入探讨Lucene 4.7版本,涵盖索引的创建、修改、删除,以及查询时的排序、分页、优化和...
《Lucene 3.6 入门实例教程》是一份专...总之,《Lucene 3.6 入门实例教程》是学习Lucene的理想资源,它将理论知识与实践操作紧密结合,使开发者能够快速掌握全文检索技术,为构建高效、精准的搜索应用打下坚实的基础。
`lucene入门小实例.txt` 文件中可能包含了一个简单的Lucene使用示例,例如: 1. 创建 `Directory` 对象,比如使用 `FSDirectory.open()` 打开一个文件系统的目录来存储索引。 2. 实例化 `Analyzer`,如使用 `...
**基于Java的Lucene全文搜索引擎资源简单实例** Lucene是一个由Apache软件基金会开发的开源全文检索库,它为Java开发者提供了强大的文本搜索功能。Lucene是高性能、可扩展的信息检索库,可以集成到各种Java应用中,...
《最新全文检索 Lucene-5.2.1 入门经典实例》 Lucene是一个开源的全文检索库,由Apache软件基金会开发,广泛应用于各种信息检索系统。在5.2.1版本中,Lucene提供了更为高效和强大的搜索功能,为开发者提供了构建...
NULL 博文链接:https://kylinsoong.iteye.com/blog/719415
以上就是Lucene索引器实例的基本介绍,通过这个实例,我们可以理解到如何使用Lucene来创建、管理和搜索文本索引。在实际项目中,可以根据需求选择合适的存储(如硬盘目录或分布式存储)、优化分析器配置、处理大量...
5. 查询(Query):用户提交的搜索条件,可以是简单的关键词,也可以是复杂的查询语法。 二、Lucene实例操作流程 1. 创建索引(Indexing):首先,我们需要创建一个索引Writer,然后添加文档到索引中。每个文档...
**Lucene 3.0 入门实例及关键知识点** ...总之,Lucene 3.0 入门实例提供了理解全文搜索引擎工作原理的基础,通过实践,开发者能够熟练掌握如何在自己的应用程序中集成和利用 Lucene 实现高效、精准的文本搜索功能。
【Lucene 入门教程】 Lucene 是一个由Apache软件基金会开发的开源全文检索引擎工具包,它并非一个完整的搜索引擎,而是提供了一个强大的架构,允许开发人员轻松地在他们的应用程序中集成全文检索功能。Lucene 支持...
在这个入门案例中,我们将深入理解如何使用 Lucene 3.6 版本来构建基本的文本搜索引擎。 首先,我们需要了解 Lucene 的核心概念: 1. **索引(Indexing)**:Lucene 的工作始于创建索引,将文档内容转化为可搜索的...
### Lucene的入门实例 #### 建立索引 1. **包导入**:首先,需要导入Lucene相关的包,包括`java.io`用于文件操作,`org.apache.lucene.analysis`用于文本分析,`org.apache.lucene.document`用于创建文档对象,...
通过这个 Lucene 搜索实例,我们可以学习到如何在实际项目中利用 Lucene 实现高效的全文检索,理解其核心机制,以及如何根据具体需求进行定制和优化。无论是小型项目还是大型企业级应用,Lucene 都能作为一个强大且...