开始

IndexCommit中是否还有未处理

的SegmentCommitInfo?

取出一个

SegmentCommitInfo

将LeafReader数组生成新的

StandardDirectoryReader

u149_seg0 u149_seg1

结束

u151_seg0 u151_seg1

u153_seg0 u153_seg1

oldReader中是否拥有该段?

u156_seg0 u156_seg1

生成一个新的SegmentReader

u158_seg0 u158_seg1

u160_seg0 u160_seg1

SegmentReader添加到LeafReader数组中

u162_seg0 u162_seg1
u163_seg0 u163_seg1 u163_seg2 u163_seg3

生成一个新的SegmentReader

两个段是否使用相同的

索引文件格式?

u166_seg0 u166_seg1 u166_seg2

两个段的可变部分

是否是相同的?

u169_seg0 u169_seg1

复用oldReader中的SegmentReader

SegmentReader添加到LeafReader数组中

u172_seg0 u172_seg1
u173_seg0 u173_seg1 u173_seg2
u174_seg0 u174_seg1
u175_seg0 u175_seg1 u175_seg2 u175_seg3 u175_seg4 u175_seg5