是否记录文档打分

的最大值?

更新maxScore

u60_seg0 u60_seg1

堆是否已满?

FieldComparator

添加该文档号

u64_seg0 u64_seg1

添加文档信息

到堆中

u67_seg0 u67_seg1

堆是否已满?

FieldComparator

设置bottom

结束

u71_seg0 u71_seg1 u71_seg2 u71_seg3
u72_seg0 u72_seg1 u72_seg2 u72_seg3 u72_seg4
u73_seg0 u73_seg1

堆是否已满?

结束

collectedAllCompetitiveHits

是否为true?

u79_seg0 u79_seg1
u80_seg0 u80_seg1 u80_seg2

结束

是否大于堆顶元素?

FieldComparator

替换bottom

u86_seg0 u86_seg1

替换堆顶元素

u88_seg0 u88_seg1

u90_seg0 u90_seg1 u90_seg2

结束

是否大于堆顶元素?

是否可以提前

结束域比较?

u94_seg0 u94_seg1

u96_seg0 u96_seg1 u96_seg2

结束

是否可以提前

结束域比较?

是否可以提前结束

Collector的收集工作

u101_seg0 u101_seg1

设置collectedAllCompetitiveHits

为true

u103_seg0 u103_seg1 u103_seg2

u106_seg0 u106_seg1

结束

是否可以提前结束

Collector的收集工作

估算剩余满足查询条件的文档数量

设置earlyTerminated

为true

抛出CollectionTerminatedException

u112_seg0 u112_seg1
u113_seg0 u113_seg1
u114_seg0 u114_seg1
u115_seg0 u115_seg1 u115_seg2