Lucene:IndexWriterConfig的设置

Lucene系列介绍

实例代码如下所示:

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

 

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

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

 

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

1 iwconf.setOpenMode(OpenMode.CREATE);
2 //
3 iwconf.setOpenMode(OpenMode.APPEND);
4 //
5 iwconf.setOpenMode(OpenMode.CREATE_OR_APPEND);

 

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


 

 

posted @ 2012-10-08 10:13  bluepoint2009  阅读(4500)  评论(0编辑  收藏  举报