25、ES实战:Elasticsearch的分页查询及其深分页问题(deeppaging)

[ ES 25 - Elasticsearch的分页查询及其深分页问题 (deep paging) ][ES 25 - Elasticsearch_ _deep paging_]

Elasticsearch 如何进行分页查询? 如果起始页、页大小很大会有性能上的损耗吗? 本文从分页查询开始, 引出其deep paging (即深层分页) 问题, 并分析其优劣, 给出解决方法.

目录

  • 1 分页查询方法
  • 2 分页查询的deep paging问题
  • 版权声明

1 分页查询方法

  • 在GET请求中拼接from和size参数
// 查询10条数据, 默认从第0条数据开始
GET book_shop/_search?size=10
// 从第0条数据开始(包括第0条), 查询10条数据
GET book_shop/_search?from=0&size=10
// 从第5条数据开始(包括第5条), 查询10条数据
GET book_shop/_search?from=5&size=10

2 分页查询的deep paging问题

deep paging, 就是深层分页搜索:

分页搜索的深度越深, 协调节点(负责分发查询、汇总结果的ES节点)上要存储的数据就越多, 协调节点对这些数据整体排序后, 再取对应页的数据.

这个过程既耗费网络资源, 也耗费内存和CPU资源.

应该尽可能避免deep paging操作. —— 方法类似于Solr的游标, 后续补充.

版权声明

作者: 马瘦风(https://healchow.com)

出处: 博客园 马瘦风的博客(https://www.cnblogs.com/shoufeng)

感谢阅读, 如果文章有帮助或启发到你, 点个[好文要顶*] 或 [推荐*] 吧*

本文版权归博主所有, 欢迎转载, 但 [必须在文章页面明显位置标明原文链接], 否则博主保留追究相关人员法律责任的权利.

posted @ 2019-02-14 17:48 瘦风 阅读( 2308) 评论( 0) 编辑 收藏 举报

会员力量,点亮园子希望

刷新页面 返回顶部

[* ]nbsp_nbsp

版权声明:本文不是「本站」原创文章,版权归原作者所有 | [原文地址:][ES 25 - Elasticsearch_ _deep paging_]