- [Lucene]Nutch/Lucene的存取机制与结构分析
- [Lucene]lucene实例
- [Lucene]Hibernate Search牛刀小试
- [Lucene]lucene2_0创建、检索和删除功能的完
- [Lucene]Lucene+hibernate+spring配置心得
- [Lucene]lucene 学习
- [Lucene]Lucene 安装
- [Lucene]LUCENE中文使用先锋和前辈
- [Lucene]Nabble
- [Lucene]LUCENE IN ACTION中文版-第七章(1)
- [Lucene]A quick (less certain) note on usi
- [Lucene]Lucene In-Memory Text Search Examp
- [Lucene]lucene-Class MemoryIndex
- [Lucene]基于LUCENE的英汉双语信息检索研究
- [Lucene] Lucene In Action中文版-第四章(II)
- [Lucene]lucene Class ChineseAnalyzer
- [Lucene]LUCENE module
- [Lucene]lucene结构中文说明(一)
- [Lucene]New Search Tool on iXtenso
- [Lucene]Nutch/Lucene的存取机制与结构分析
- [Lucene]lucene实例
- [Lucene]lucene.net的一些基本使用方法和概念
- [Lucene]Lucene搜索引擎API的主要类介绍
- [Lucene]Hibernate Search牛刀小试
- [Lucene]广州太博互动诚聘精英
- [Lucene]LUCEN:如何索引PDF格式文件
- [Lucene] Full-time opportunity in Paris, F
- [Lucene]Lucene索引查询分页实例
- [Lucene] 使用Lucene进行全文检索
- [Lucene]lucene2_0创建、检索和删除功能的完
- [Lucene]lucene Class ChineseAnalyzer
- [Lucene]LUCENE module
- [Lucene]lucene结构中文说明(一)
- [Lucene]New Search Tool on iXtenso
- [Lucene]Nutch/Lucene的存取机制与结构分析
- [Lucene]lucene实例
- [Lucene]lucene.net的一些基本使用方法和概念
- [Lucene]Lucene搜索引擎API的主要类介绍
- [Lucene]Hibernate Search牛刀小试
- [Lucene]广州太博互动诚聘精英
- [Lucene]LUCEN:如何索引PDF格式文件
- [Lucene] Full-time opportunity in Paris, F
- [Lucene]Lucene索引查询分页实例
- [Lucene] 使用Lucene进行全文检索
- [Lucene]lucene2_0创建、检索和删除功能的完
- Google广告位置
- Google AD
Lucene 是一个基于 Java 的全文检索工具包,你可以利用它来为你的应用程序加入索引和检索功能。Lucene 目前是著名的 Apache Jakarta 家族中的一个开源项目,下面我们即将学习 Lucene 的索引机制以及它的索引文件的结构。
在这篇文章中,我们首先演示如何使用 Lucene 来索引文档,接着讨论如何提高索引的性能。最后我们来分析 Lucene 的索引文件结构。需要记住的是,Lucene 不是一个完整的应用程序,而是一个信息检索包,它方便你为你的应用程序添加索引和搜索功能。
图一显示了 Lucene 的索引机制的架构。Lucene 使用各种解析器对各种不同类型的文档进行解析。比如对于 HTML 文档,HTML 解析器会做一些预处理的工作,比如过滤文档中的 HTML 标签等等。HTML 解析器的输出的是文本内容,接着 Lucene 的分词器(Analyzer)从文本内容中提取出索引项以及相关信息,比如索引项的出现频率。接着 Lucene 的分词器把这些信息写到索引文件中。
图一:Lucene 索引机制架构
接下来我将一步一步的来演示如何利用 Lucene 为你的文档创建索引。只要你能将要索引的文件转化成文本格式,Lucene 就能为你的文档建立索引。比如,如果你想为 HTML 文档或者 PDF 文档建立索引,那么首先你就需要从这些文档中提取出文本信息,然后把文本信息交给 Lucene 建立索引。我们接下来的例子用来演示如何利用 Lucene 为后缀名为 txt 的文件建立索引。
1. 准备文本文件
首先把一些以 txt 为后缀名的文本文件放到一个目录中,比如在 Windows 平台上,你可以放到 C:\\files_to_index 下面。
2. 创建索引
清单1是为我们所准备的文档创建索引的代码。
清单1:用 Lucene 索引你的文档
|
正如清单1所示,你可以利用 Lucene 非常方便的为文档创建索引。接下来我们分析一下清单1中的比较关键的代码,我们先从下面的一条语句开始看起。
|
这条语句创建了类 StandardAnalyzer 的一个实例,这个类是用来从文本中提取出索引项的。它只是抽象类 Analyzer 的其中一个实现。Analyzer 也有一些其它的子类,比如 SimpleAnalyzer 等。
我们接着看另外一条语句:
|
这条语句创建了类 IndexWriter 的一个实例,该类也是 Lucene 索引机制里面的一个关键类。这个类能创建一个新的索引或者打开一个已存在的索引并为该所引添加文档。我们注意到该类的构造函数接受三个参数,第一个参数指定了存储索引文件的路径。第二个参数指定了在索引过程中使用什么样的分词器。最后一个参数是个布尔变量,如果值为真,那么就表示要创建一个新的索引,如果值为假,就表示打开一个已经存在的索引。
接下来的代码演示了如何添加一个文档到索引文件中。
最新评论:
