开始
是否处理上一个
block(lastBLock)?
文档号集合
当前block(currentBlock)中的
文档数量是否大于4096?
使用short类型数组
buffer存储文档号
是否还有未处理的
文档号?
否
使用FixedBitSet对象
denseBuffer存储文档号
是
结束
否
是
否
处理稀疏的文档号集合
判断lastBlock中
文档号集合的稠密度
处理介于稀疏与稠密之间的文档号集合
处理稠密的文档号集合
是
添加到block数组中