`

lucene的各个包的说明

阅读更多

Lucene各个包的说明:

org.apache.lucene.document:这个包提供了一些为要索引的文档所需要的类。比如说Documentfile.这样每一个文档最终被封装成一个Document对象。

org.apache.lucene.analysis : 这个包主要是对文档进行分词,文档在建立索引之前必须要进行分词,这个包的作用可以看成是为建立索引做准备工作。

org.apache.lucene.index:这个包提供了一些类来协助创建索引以及对创建好的索引进行更新。这里面有两个基础的类:IndexWriter IndexReader,其IndexWriter 是用来创建索引并添加文档到索引中的,IndexReader 是用来删除索引中的文档的。

org.apache.lucene.search :这个包提供了对在建立好的索引上进行搜索所需要的类。比如 IndexSearcher Hits, IndexSearcher 定义了在指定的索引上进行搜索的 方法,Hits 用来保存搜索得到的结果。

 

建立索引

 

为了对文档进行索引,Lucene 提供了五个基础的类,他们分别是 Document, Field, IndexWriter, Analyzer, Directory。下面我们分别介绍一下这五个类的用途:

 

1):Document

 

Document 是用来描述文档的,这里的文档可以指一个 HTML 页面,一封电子邮件,或者是一个文本文件。一个 Document 对象由多个 Field 对象组成的。可以把一个 Document 对象想象成数据库中的一个记录,而每个 Field 对象就是记录的一个字段。

 

2):Field

 

Field 对象是用来描述一个文档的某个属性的,比如一封电子邮件的标题和内容可以用两个 Field 对象分别描述。

 

3):Analyzer

 

在一个文档被索引之前,首先需要对文档内容进行分词处理,这部分工作就是由 Analyzer 来做的。Analyzer 类是一个抽象类,它有多个实现。针对不同的语言和应用需要选择适合的 AnalyzerAnalyzer 把分词后的内容交给 IndexWriter 来建立索引。

 

4):IndexWriter

 

IndexWriter Lucene 用来创建索引的一个核心的类,他的作用是把一个个的 Document 对象加到索引中来。

 

5):Directory

 

这个类代表了 Lucene 的索引的存储的位置,这是一个抽象类,它目前有两个实现,第一个是 FSDirectory,它表示一个存储在文件系统中的索引的位置。第二个是 RAMDirectory,它表示一个存储在内存当中的索引的位置。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics