是否还有遍历区间?

取出一个遍历区间

u228_seg0 u228_seg1

是否还有未处理的

子查询?

子查询中是否还有

未处理的文档?

计算文档打分值

更新Bucket数组

u234_seg0 u234_seg1
u235_seg0 u235_seg1
u236_seg0 u236_seg1

u239_seg0 u239_seg1 u239_seg2 u239_seg3 u239_seg4 u239_seg5
u241_seg0

处理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