Lucene:IndexWriterConfig的设置

实例代码如下所示:

 Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_36);
 IndexWriterConfig iwconf = new IndexWriterConfig(Version.LUCENE_36, analyzer);
 iwconf.setOpenMode(IndexWriterConfig.OpenMode.CREATE);
 IndexWriter indexWriter = new IndexWriter(indexDir, iwconf);


 

注意: StandardAnalyzer是lucene中内置的“标准分析器”,可以做如下功能:

  1. 对原有句子按照空格进行了分词
  2. 所有的大写字母都可以能转换为小写的字母
  3. 可以去掉一些没有用处的单词,例如"is","the","are"等单词,也删除了所有的标点

 

在Lucene3.X版本中,与前几个版本的不同的地方包括了IndexWriter实例的初始化,其中需要用到IndexWriterConfig这个类。另外,从Lucene的API中可以看到目前IndexWriter类最新的构造函数需要用到IndexWriterConfig这个类(其它的构造函数不建议使用,被废弃掉了),其中需要设置OpenMode属性:

iwconf.setOpenMode(OpenMode.CREATE);
 //或
iwconf.setOpenMode(OpenMode.APPEND);
 //或
iwconf.setOpenMode(OpenMode.CREATE_OR_APPEND);


 

注意:这行代码设置了存放索引的文件夹将以覆盖或者新建的方式建立。如果没有这样设置,并且在原索引文件夹中索引没有被删除的情况下,新的索引文件将会append到原来索引文件之后,这样会导致索引结果发生错误。

你可能感兴趣的:(Lucene)