Elasticsearch的分页操作

目录

分页的使用方式

集群系统中深度分页的注意事项


分页的使用方式

和SQL使用 LIMIT 关键字返回只有一页的结果一样,Elasticsearch接受 from 和 size 参数:

size: 结果数,默认10
from: 跳过开始的结果数,默认0

举例

 

集群系统中深度分页的注意事项

分析

为了理解为什么深度分页是有问题的,让我们假设在一个有5个主分片的索引中搜索。当我们请求结果的第一页(结果1到10)时,每个分片产生自己最顶端10个结果然后返回它们给请求节点(requesting node),它再排序这所有的50个结果以选出顶端的10个结果。现在假设我们请求第1000页——结果10001到10010。工作方式都相同,不同的是每个分片都必须产生顶端的10010个结果。然后请求节点排序这50050个结果并丢弃50040个! 

处理方式

你可以看到在分布式系统中,排序结果的花费随着分页的深入而成倍增长。这也是为什么网络搜索引擎中任何语句不能返回多于1000个结果的原因。

发布了568 篇原创文章 · 获赞 180 · 访问量 18万+

猜你喜欢

转载自blog.csdn.net/Delicious_Life/article/details/105519075