Lucene中IndexWriter的commit和flush有什么区别
What is the difference between commit and flush for IndexWriter in Lucene
Lucene中IndexWriter的commit和flush有什么区别?
这是 class 的文档,但我不清楚这两种方法之间的区别是:
https://lucene.apache.org/core/4_5_0/core/org/apache/lucene/index/IndexWriter.html
提交和刷新都将当前内存中的索引数据写入磁盘。然而,Commit 做了一些额外的事情。它还会更新索引,表明磁盘上的数据已准备好用于搜索。
所以如果你总是刷新但从不提交,你的索引将无法被搜索到。如果您总是提交但从不刷新,那很好,因为提交会隐式刷新。当您索引大量无法保存在内存中的数据时,刷新通常会自动发生。只有当你达到了你想要真正坚持的状态时,你才会承诺。
Lucene中IndexWriter的commit和flush有什么区别?
这是 class 的文档,但我不清楚这两种方法之间的区别是:
https://lucene.apache.org/core/4_5_0/core/org/apache/lucene/index/IndexWriter.html
提交和刷新都将当前内存中的索引数据写入磁盘。然而,Commit 做了一些额外的事情。它还会更新索引,表明磁盘上的数据已准备好用于搜索。
所以如果你总是刷新但从不提交,你的索引将无法被搜索到。如果您总是提交但从不刷新,那很好,因为提交会隐式刷新。当您索引大量无法保存在内存中的数据时,刷新通常会自动发生。只有当你达到了你想要真正坚持的状态时,你才会承诺。