开始

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

获取封装后的Directory

获取IndexCommit对应的StandardDirectoryReader

执行CREATE模式下

的工作

u151_seg0 u151_seg1
u152_seg0 u152_seg1
u153_seg0 u153_seg1
u154_seg0 u154_seg1 u154_seg2 u154_seg3
u155_seg0 u155_seg1
u156_seg0 u156_seg1 u156_seg2 u156_seg3

CREATE

CREATE_OR_APPEND

APPEND

索引目录中是否

已经存在旧的索引?

u161_seg0 u161_seg1 u161_seg2
u162_seg0 u162_seg1 u162_seg2

执行APPEND模式下

的工作

检查IndexSort合法性

生成对象BufferedUpdatesStream

生成对象DocumentsWriter

生成对象ReaderPool

生成对象IndexFileDeleter

更新SegmentInfos的

version

结束

u173_seg0 u173_seg1 u173_seg2 u173_seg3
u174_seg0 u174_seg1 u174_seg2 u174_seg3
u175_seg0 u175_seg1
u176_seg0 u176_seg1
u177_seg0 u177_seg1
u178_seg0 u178_seg1
u179_seg0 u179_seg1
u180_seg0 u180_seg1