使用Lucene建立索引

最近在看Lucene in Action这本书的原著,第一步就是建立要建立文件索引,当然文件必须为统一的格式,Lucene不支持异构文件。
我练习了书中的listing 1.1:Indexer,由于我使用的是Lucene3.5版本,而书中使用的3.0,3.5和3.0是有一些差异的!


在输入参数(D:\abc\lucene\index03 D:\abc\lucene)之后,运行结果为:

以上程序中用到的类简要介绍:

IndexWriter
这个类可以建立一个新的索引或者打开一个已经存在的索引,
可以对索引进行增删改,但是不可以搜索和读取
Directory是IndexWriter存放索引的地方

FSDirectory在文件系统中存,RAMDirectory存在内存中(这样会更小、更快捷、应用关闭的时候就会销毁
但是缺点是不能持久化)这种方法适合于需要快速访问索引的时候,包括建立索引和搜索索引。

Analyer
IndexWriter不能索引文件除非它被分割成单个的词。
首先把文件的内容转变为有格式的形式。
它是一个抽象类,Lucene提供了一些实现方法。
分词器通过处理停词(不能作为区分文档的词,如a,the等)
把字符转为小写以便搜索的时候不区分大小写
一个合适的分词器能够对搜索的准确性提供很大帮助
Document
分词器需要一个包含独立字段的文档来索引
文档中有很多字段,这些字段都可以存放到索引中
Lucene只处理text格式的文档,
Feild
每个字段有若干个名称和其对应的值

猜你喜欢

转载自jkhhuse.iteye.com/blog/1574018