开始

待合并的段集合

OneMerge

作用(apply)删除信息

DocValues信息

写入到磁盘

初始化一个新段

更新待合并的段集合

OneMerge

获取SegmentReader

的集合MergeReader

生成SegmentMerger

执行索引文件的合并

设置新段包含的

索引文件名

生成复合索引文件

新段对应的索引文件.si写入磁盘

生成IndexReaderWarmer

提交合并

调用钩子函数

完成合并后的工作

更新pendingMerges

结束

u57_seg0 u57_seg1
u58_seg0 u58_seg1
u59_seg0 u59_seg1
u60_seg0 u60_seg1
u61_seg0 u61_seg1 u61_seg2 u61_seg3 u61_seg4 u61_seg5
u62_seg0 u62_seg1
u63_seg0 u63_seg1
u64_seg0 u64_seg1
u65_seg0 u65_seg1
u66_seg0 u66_seg1

synchronized(IndexWriter)开始

synchronized(IndexWriter)结束

synchronized(IndexWriter)开始

synchronized(IndexWriter)结束

u71_seg0 u71_seg1 u71_seg2 u71_seg3
u72_seg0 u72_seg1
u73_seg0 u73_seg1
u74_seg0 u74_seg1
u75_seg0 u75_seg1
u76_seg0 u76_seg1
u77_seg0 u77_seg1 u77_seg2 u77_seg3

synchronized

(IndexWriter)开始

synchronized

(IndexWriter)结束