调用commit后,将文档添加到Lucene Index Writer

时间:2014-08-07 06:17:05

标签: java lucene commit indexwriter

我正在使用Lucene 4.6。我创建了一个Lucene IndexWriter(在CREATE MODE中)并添加了文档并提交了它(没有关闭它)。然后运行搜索查询并存储结果。我再次将文档添加到索引编写器并提交并关闭它。并对其运行搜索查询。它还给出了新数据和旧数据的结果。旧数据也出现在索引中。我是否知道从索引中删除所有数据的方法。有没有办法一次删除所有文件?

2 个答案:

答案 0 :(得分:1)

如果您能为我们提供代码段,那会更好,但似乎问题是您使用的是OpenMode.CREATE而不是OpenMode.CREATE_OR_APPEND。在这种情况下,每次创建IndexWriter对象时,旧数据都会被覆盖,而不是附加。

另外,请确保您使用的是最新版本。电流是v4.9.0

答案 1 :(得分:0)

indexwriter.deleteall方法将删除索引中的所有文档,您可以重复使用相同的索引编写器在新文档上构建INDEX并运行搜索查询并在以后需要时将其关闭