开始

获取索引目录的索引文件锁

获取封装后的Directory

获取IndexCommit对应的StandardDirectoryReader

执行CREATE模式下

的工作

u133_seg0 u133_seg1
u134_seg0 u134_seg1
u135_seg0 u135_seg1
u136_seg0 u136_seg1 u136_seg2 u136_seg3
u137_seg0 u137_seg1
u138_seg0 u138_seg1 u138_seg2 u138_seg3

CREATE

CREATE_OR_APPEND

APPEND

索引目录中是否

已经存在旧的索引?

u143_seg0 u143_seg1 u143_seg2
u144_seg0 u144_seg1 u144_seg2

执行APPEND模式下

的工作

检查IndexSort合法性

生成对象BufferedUpdatesStream

生成对象DocumentsWriter

生成对象ReaderPool

生成对象IndexFileDeleter

更新SegmentInfos的

version

结束

u155_seg0 u155_seg1 u155_seg2 u155_seg3
u156_seg0 u156_seg1 u156_seg2 u156_seg3
u157_seg0 u157_seg1
u158_seg0 u158_seg1
u159_seg0 u159_seg1
u160_seg0 u160_seg1
u161_seg0 u161_seg1
u162_seg0 u162_seg1