重新编制索引时,Lucene索引文件不会被删除

时间:2014-03-17 19:40:10

标签: lucene

我正在使用lucene 4.7版本索引数据库中的表。从_0开始创建索引文件。但是,当我重新运行相同的程序再次创建索引时,将从_1开始创建一组新文件。我已将IndexWriterConfig打开模式设置为CREATE_OR_APPEND。为什么_0文件没有被删除?这就产生了一个问题,因为每当我从那个巨大的表重新索引时,文件夹的大小就会增加一倍。

1 个答案:

答案 0 :(得分:1)

如果您想完全重新索引,可以使用开放模式:CREATE,而不是CREATE_OR_APPEND。如果在同一目录中打开后者,它将以追加模式打开现有索引。如果您在重新索引时再次添加相同的文档,则最终会在索引中为每个文档创建两个副本。在CREATE模式下打开将删除在给定目录中找到的旧索引,您可以从头开始重新索引。 (见IndexWriterConfig.OpenMode documentaiton

如果您愿意,也可以update Documents,但如果您打算重新创建整个索引,那么性能将比仅仅在创建模式下打开并添加文档更差。