概要
本篇从介绍搜索分页为起点,简单阐述分页式数据搜索与原有集中式数据搜索思维方式的差异,就分页问题对deep paging问题的现象进行分析,最后介绍分页式系统top N的案例。
搜索分页语法
Elasticsearch中search语法有from和size两个参数用来实现分页的效果:
- size:显示应该返回的结果数量,默认是10。
- from:显示查询数据的偏移量,即应该跳过的初始结果数量,默认是0。
from和size这两个参数的含义和MySql使用limit关键字分页的参数含义是一样的。
举几个示例,查询第1-3页的请求:
GET /music/children/_search?size=10GET /music/children/_search?size=10&from=10GET /music/children/_search?size=10&from=20
分布式数据与集中式数据的差异
集中式数据存储方式,从最早的单体应用模式,到早期的SOA服务模式,那时存储大多数都是采用集中式数据存储,数据落地到mysql等关系型数据中,有支持读写分