获得StandardDirectoryReader

开始

方法三

DirectoryReader.open(final IndexWriter indexWriter)

开始

方法四

DirectoryReader.open(final IndexWriter indexWriter, boolean applyAllDeletes, boolean writeAllDeletes)

执行获得reader前的工作

收集所有达到flush条件的DWPT

执行DWPT的doFlush()

u66_seg0 u66_seg1
u67_seg0 u67_seg1

synchronized(fullFlushLock)开始

更新删除信息

u70_seg0 u70_seg1

强制发布生成的段

IndexWriter处理事件

更新ReaderPool

u74_seg0 u74_seg1
u75_seg0 u75_seg1
u76_seg0 u76_seg1

尝试段合并

u78_seg0 u78_seg1 u78_seg2 u78_seg3
u79_seg0 u79_seg1

结束

执行flush后的工作

u82_seg0 u82_seg1

执行获得reader后的工作

synchronized(fullFlushLock)结束

u85_seg0 u85_seg1
u86_seg0 u86_seg1 u86_seg2
u87_seg0 u87_seg1 u87_seg2 u87_seg3

开始

IndexWriter.flush()

u90_seg0 u90_seg1

执行flush前的工作

u92_seg0 u92_seg1

收集所有达到flush条件的DWPT

u94_seg0 u94_seg1

执行DWPT的doFlush()

u96_seg0 u96_seg1 u96_seg2 u96_seg3

IndexWriter.flush()

u98_seg0 u98_seg1 u98_seg2 u98_seg3

开始

自动flush

u101_seg0 u101_seg1
u102_seg0 u102_seg1 u102_seg2 u102_seg3

更新删除信息

强制发布生成的段

u105_seg0 u105_seg1

IndexWriter处理事件

u107_seg0 u107_seg1

更新ReaderPool

尝试段合并

u110_seg0 u110_seg1

IndexWriter处理事件

u112_seg0 u112_seg1 u112_seg2 u112_seg3

自动flush

u114_seg0 u114_seg1

结束

u116_seg0 u116_seg1

结束

u118_seg0 u118_seg1

文档提交之flush

获取StandardDirectoryReader

synchronized(fullFlushLock)开始

synchronized(fullFlushLock)结束

u123_seg0 u123_seg1