开始
开始
方法二
DirectoryReader.openIfChanged(DirectoryReader oldReader, IndexCommit commit)
IndexWriter
是否为空?
方法一
DirectoryReader.openIfChanged(DirectoryReader oldReader)
开始
IndexWriter
是否为空?
indexCommit
是否为空?
根据Directory判断
索引是否发生变化?
是
是
方法一
DirectoryReader.openIfChanged(DirectoryReader oldReader)
返回null
结束
是
获得所有段的信息集合
SegmentInfos
返回新的
StandardDirectoryReader
否
开始
方法二
DirectoryReader.openIfChanged(DirectoryReader oldReader, IndexCommit commit)
IndexWriter
是否为空?
indexCommit
是否为空?
返回null
是
segment_N文件
是否一致?
是
结束
否
获得所有段的信息集合
SegmentInfos
否
返回新的
StandardDirectoryReader
找出变更的LeafReader
找出变更的LeafReader