Lucene7.5.0中提供了以下四种open方法来获得StandardDirectoryReader的对象,这四种方法:
- 方法一:DirectoryReader.open(final Directory directory)
- 方法二:DirectoryReader.open(final IndexCommit indexCommit)
- 方法三:DirectoryReader.open(final IndexWriter indexWriter)
- 方法四:DirectoryReader.open(final IndexWriter indexWriter, boolean applyAllDeletes, boolean writeAllDeletes)
这四种open方法的详细介绍见近实时搜索NRT(一)、近实时搜索NRT(二)。
基于性能考虑,Lucene7.5.0中同时提供了以下四种openIfChange方法,这四种方法:
- 方法一:DirectoryReader.openIfChanged(DirectoryReader oldReader)
- 方法二:DirectoryReader.openIfChanged(DirectoryReader oldReader, IndexCommit commit)
- 方法三:DirectoryReader openIfChanged(DirectoryReader oldReader, IndexWriter writer)
- 方法四:DirectoryReader openIfChanged(DirectoryReader oldReader, IndexWriter writer, boolean applyAllDeletes)
我们接着近实时搜索NRT(三)的内容,继续介绍openIfChange方法的流程图。
看这里:https://www.amazingkoala.com.cn/Lucene/Index/2019/0925/96.html