我正在使用构面将分区搜索结果划分为范围。搜索返回一个列表项,每个项都有一个分数。在列表中,项目按分数从高到低排序。有些项目也可能有相同的分数。
我使用构面来获得前 10 名,然后是下 100 名。
我的想法是使用范围方面。问题是我从来不知道格言分数。每次都不一样。但是由于搜索结果是按分数顺序返回的,我可能可以使用范围方面而不关心范围:
//top 10 best matches with score: [0-infinity) but since they items are ordered I think it will return top 10 items
FacetBuilders.rangeFacet("top10Matches").field("score").addUnboundedTo(0).size(10)
这很简单。现在我不知道如何获得下一个块,它是前一个方面停止的地方,大小为 100。我可能会检查结果中最后一项的分数,第一个方面返回并将其用作我的顶部范围,但如果有具有该精确分数的项目,它们将被跳过。
有没有办法用方面做我需要的事情?