一个简单的 lucene Demo ,主要使用了 org.apache.lucene.index 包里面的 IndexWriter 类。 IndexWriter 有很多构造方法,一般的索引都使用了它的如下的构造方法:
这里, FSDirectory 是文件系统目录 (FileSystemDirectory=FSDirectory) ,该类的方法都是 static 的,可以直接方便地获取与文件系统目录相关的一些参数,以及对文件系统目录的操作。 FSDirectory 类继承自抽象类 Directory 。
Analyzer 是一个抽象类,能够对数据源进行分析,过滤,主要功能是进行分词:
通过使用 StandardAnalyzer 类(继承自 Analyzer 抽象类 ,Analyzer 抽象类,不能实例化),构造一个索引器 IndexWriter 。 StandardAnalyzer 类,对进行检索的 word 进行了过滤,因为在检索的过程中,有很多对检索需求没有用处的单词 ( 停词 ) 。比如一些英文介词: at 、 with 等等, StandardAnalyzer 类对其进行了过滤。看下 StandardAnalyzer 类的源代码:
StopAnaylyzer 中停词集合: