开始

是否段中的文档

都满足查询条件?

u2_seg0 u2_seg1

返回

是否反向收集满足

查询条件的文档号?

初始化反向收集文档号

节点

判断节点与查询条件的边界关系

u9_seg0 u9_seg1 u9_seg2 u9_seg3
u10_seg0 u10_seg1 u10_seg2
u11_seg0 u11_seg1

CELL_OUTSIDE_QUERY

CELL_INSIDE_QUERY

CELL_CROSSES_QUERY

当前节点是否

为叶子节点?

u16_seg0 u16_seg1 u16_seg2 u16_seg3

收集节点中的所有点数据对应的文档号

u18_seg0 u18_seg1 u18_seg2 u18_seg3

设置左子树的准备数据

设置右子树的准备数据

u21_seg0 u21_seg1 u21_seg2
u22_seg0 u22_seg1
u23_seg0 u23_seg1 u23_seg2 u23_seg3 u23_seg4
u24_seg0 u24_seg1 u24_seg2 u24_seg3 u24_seg4

处理左子树

处理右子树

u27_seg0 u27_seg1
u28_seg0 u28_seg1
u29_seg0 u29_seg1
u30_seg0 u30_seg1

收集叶子节点中满足查询条件的文档号

收集段中所有的文档号

当前节点是否

为根节点?

u34_seg0 u34_seg1

结束

u36_seg0 u36_seg1 u36_seg2 u36_seg3

当前节点是否

为根节点?

结束

返回

u40_seg0 u40_seg1
u41_seg0 u41_seg1 u41_seg2
u42_seg0 u42_seg1
u43_seg0 u43_seg1 u43_seg2 u43_seg3 u43_seg4
u44_seg0 u44_seg1
u45_seg0 u45_seg1 u45_seg2
u46_seg0 u46_seg1
u47_seg0 u47_seg1