是否还有遍历区间?
取出一个遍历区间
是
是否还有未处理的
子查询?
子查询中是否还有
未处理的文档?
计算文档打分值
更新Bucket数组
是
是
处理Bucket数组
计数freq
文档号
0
1
2
3
4
5
6
7
... ...
2047
2046
2045
0
0
0
0
0
2
2
0
3
4
8
9
Bucket[ ]数组
遍历区间[0,3)的Bucket[ ]数组
freq: 2
score:1.14014
freq: 1
score1.38213
freq: 2
score:0.94420
freq: 0
score:0
freq: 0
score:0
freq: 0
score:0
freq: 0
score:0
freq: 0
score:0
freq: 0
score:0
freq: 0
score:0
Bucket对象
0
1
2
3
4
5
6
7
8
9
遍历区间[4,8)的Bucket[ ]数组
freq: 0
score:0
... ...
2047
文档号
freq: 0
score:0
freq: 0
score:0
freq: 0
score:0
freq: 0
score:0
freq: 3
score:1.87254
freq: 1
score:0.73592
freq: 1
score:0.45657
freq: 1
score:1.43247
freq: 0
score:0
freq: 0
score:0
Bucket对象
0
1
2
3
4
5
6
7
8
9
freq: 0
score:0
... ...
2047
遍历区间[9,2147483647)的Bucket[ ]数组
文档号
freq: 0
score:0
freq: 0
score:0
freq: 0
score:0
freq: 0
score:0
freq: 0
score:0
freq: 0
score:0
freq: 0
score:0
freq: 0
score:0
freq: 0
score:0
freq: 0
score:0
Bucket对象
0
1
2
3
4
5
6
7
8
9
freq: 0
score:0
... ...
2047