为什么Lucene IndexWriter会重写以前的文档?

为什么Lucene IndexWriter会重写以前的文档?,lucene,Lucene,我不理解Lucene indexwriter的这个问题。打开indexwriter后,添加一些新文档,然后关闭它。使用相同的目录重新打开indexwriter,添加一些新文档。然后所有以前的文件都消失了。我只是不明白它为什么会这样。正如Zincup在上面提到的,在向现有索引添加文档时,需要将deletePolicy设置为false。(添加到这里是为了让这个问题有一个正式的答案。)这永远不会发生。在第一次写入操作之后,是否确保目录包含包含某些内容的索引?你可以试着用Luke来学习,或者只是检查一下

我不理解Lucene indexwriter的这个问题。打开indexwriter后,添加一些新文档,然后关闭它。使用相同的目录重新打开indexwriter,添加一些新文档。然后所有以前的文件都消失了。我只是不明白它为什么会这样。

正如Zincup在上面提到的,在向现有索引添加文档时,需要将deletePolicy设置为false。(添加到这里是为了让这个问题有一个正式的答案。)

这永远不会发生。在第一次写入操作之后,是否确保目录包含包含某些内容的索引?你可以试着用Luke来学习,或者只是检查一下目录的大小。Phani,谢谢。你帮了大忙。愚蠢的我,我没有将deletePolicy设置为false。您是否将
create
参数引用到IndexWriter-ctor(在更高版本中被
IndexWriterConfig.OpenMode
替换)?或者你实际上是指一个?