文章目录
一、分页方式
1、from和size分页
from:要跳过的命中数,默认为0;
size:命中返回的最大返回数量。
官方说明:
避免使用from和size分页太深或一次请求太多结果。搜索请求通常跨越多个分片。每个分片必须将其请求的命中以及任何先前页面的命中加载到内存中。对于较深的页面或大量结果,这些操作会显着增加内存和CPU使用率,从而导致性能下降或节点故障。
默认情况下,您不能使用from和size分页超过10,000个匹配。此限制是由index.max_result_window索引设置的保护措施 。如果您需要分页浏览超过10,000个匹配,请改用search_after 参数。
原因如下:
在分布式系统中深度分页
我们可以假设在一个有 5 个主分片的索引中搜索。 当我们请求结果的第一页(结果从 1 到 10 ),每一个分片产生前 10 的结果,并且返回给 协调节点 ,协调节点对 50 个结果排序得到全部结果的前 10 个。
现在假设我们请求第 1000 页—结果从 10001 到 10010 。每个分片产生前10010个结果。 然后协调节点对全部 50050 个结果