概述

大数据分页易因深分页而退化。Elasticsearch 提供异步搜索与滚动查询(Scroll),结合 search_after 游标可高效分页。本文给出策略与验证方法。

异步搜索(已验证)

  • 异步任务:提交查询并后台执行,减少前端等待;
  • 获取结果:轮询任务状态与结果;
  • 资源:设置超时与内存限制。

滚动查询与游标

  • Scroll:在稳定快照上分页,适合批量导出;
  • search_after:基于排序键游标翻页,避免 from/size
  • 排序:使用稳定字段(如时间+唯一键)。

示例(片段)


{ "search_after": ["last_sort_value"], "sort": [{"ts": "desc"}], "size": 100 }

验证与监控

  • 指标:查询耗时与扫描量、任务队列与内存;
  • 对比:深分页与游标策略性能;

常见误区

  • 在高并发在线查询中使用 Scroll 导致资源占用;
  • 排序字段不稳定造成重复或遗漏;

结语

以异步搜索与 Scroll 的正确使用为基础,结合 search_after 游标与稳定排序,并以指标验证,Elasticsearch 能在大数据分页场景保持性能与稳定。

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部