概述
大数据分页易因深分页而退化。Elasticsearch 提供异步搜索与滚动查询(Scroll),结合 search_after 游标可高效分页。本文给出策略与验证方法。
异步搜索(已验证)
- 异步任务:提交查询并后台执行,减少前端等待;
- 获取结果:轮询任务状态与结果;
- 资源:设置超时与内存限制。
滚动查询与游标
- Scroll:在稳定快照上分页,适合批量导出;
search_after:基于排序键游标翻页,避免from/size;- 排序:使用稳定字段(如时间+唯一键)。
示例(片段)
{ "search_after": ["last_sort_value"], "sort": [{"ts": "desc"}], "size": 100 }
验证与监控
- 指标:查询耗时与扫描量、任务队列与内存;
- 对比:深分页与游标策略性能;
常见误区
- 在高并发在线查询中使用 Scroll 导致资源占用;
- 排序字段不稳定造成重复或遗漏;
结语
以异步搜索与 Scroll 的正确使用为基础,结合 search_after 游标与稳定排序,并以指标验证,Elasticsearch 能在大数据分页场景保持性能与稳定。

发表评论 取消回复