Lucene中的IndexWriter的commit和flush之间有什么区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Lucene中的IndexWriter的commit和flush之间有什么区别相关的知识,希望对你有一定的参考价值。

Lucene中的IndexWriter的commit和flush之间有什么区别?

这是该课程的文档,但我不清楚这两种方法之间的区别是:

https://lucene.apache.org/core/4_5_0/core/org/apache/lucene/index/IndexWriter.html

答案

提交和刷新将当前在内存中的索引数据写入磁盘。但是,提交会做一些额外的事情。它还会更新索引,表明磁盘上的数据已准备好用于搜索。

因此,如果您始终刷新但从不提交,则无法搜索索引。如果你总是提交,但从不刷新,这很好,因为提交隐式刷新。当您索引大量无法保留在内存中的数据时,通常会自动进行刷新。只有在达到要保持真实状态的状态时才会提交。

以上是关于Lucene中的IndexWriter的commit和flush之间有什么区别的主要内容,如果未能解决你的问题,请参考以下文章

学习lucene5.5.4的笔记

org.apache.lucene.store.AlreadyClosedException:此IndexWriter已关闭

Lucene初探之索引过程分析

Lucene初探之索引过程分析

将IndexWriter与SearchManager一起使用

Lucene和Solr学习总结增删改查