news 2026/7/7 11:51:08

Elasticsearch Scroll ID 详解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Elasticsearch Scroll ID 详解

目录

  • 什么是 Scroll?
  • Scroll 的基本使用
  • Scroll 的工作原理
  • 深入理解 Scroll ID
  • Keep-Alive 机制
  • Scroll vs 其他分页方式
  • Scroll 的局限性
  • 最佳实践

什么是 Scroll?

Scroll是 Elasticsearch 提供的一种深度分页机制,用于高效地遍历大量数据。与传统的from/size分页不同,scroll 专门设计用于需要获取大量数据(如数据导出、迁移)的场景。

为什么需要 Scroll?

传统的from/size分页在深度分页时性能急剧下降:

# 传统分页 - 深度分页时很慢GET /index/_search{"from":10000,"size":100}

问题:

  • 需要跳过前 10000 条记录,计算量大
  • 每个分片都要排序和跳过,性能差
  • 数据可能不一致(两次请求之间数据可能变化)

Scroll 的优势:

  • ✅ 高效遍历大量数据
  • ✅ 数据一致性保证(快照视图)
  • ✅ 支持断点续传
  • ✅ 适合数据导出、迁移场景

Scroll 的基本使用

第一步:初始化 Scroll 请求

GET /index/_search?scroll=1m{"size":100,"query":{"match_all":{}},"sort":["_doc"]}

关键参数:

  • scroll=1m:设置 scroll 上下文保持时间为 1 分钟
  • size:每次返回的文档数量
  • sort: ["_doc"]:使用_doc排序(最快,不计算相关性)

响应示例:

{"_scroll_id":"DXF1ZXJ5QW5kRmV0Y2gBAAAAAAAB...","hits":{"total":{"value":10000},"hits":[{"_id":"1","_source":{...}},{
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/7 2:19:23

N_m3u8DL-CLI-SimpleG:专业级M3U8视频下载工具完整使用手册

N_m3u8DL-CLI-SimpleG:专业级M3U8视频下载工具完整使用手册 【免费下载链接】N_m3u8DL-CLI-SimpleG N_m3u8DL-CLIs simple GUI 项目地址: https://gitcode.com/gh_mirrors/nm3/N_m3u8DL-CLI-SimpleG 在流媒体视频内容日益普及的今天,M3U8格式作为…

作者头像 李华
网站建设 2026/7/8 2:48:30

MouseTester:精准测试鼠标性能的专业工具指南

MouseTester:精准测试鼠标性能的专业工具指南 【免费下载链接】MouseTester 项目地址: https://gitcode.com/gh_mirrors/mo/MouseTester MouseTester是一款功能强大的鼠标性能测试工具,能够帮助用户全面评估鼠标的响应速度、移动精度和点击延迟等…

作者头像 李华
网站建设 2026/7/7 0:03:00

SMUDebugTool深度解析:AMD平台电源管理的终极指南

SMUDebugTool深度解析:AMD平台电源管理的终极指南 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https://gitcod…

作者头像 李华
网站建设 2026/6/30 5:22:53

Sunshine多设备游戏串流终极配置指南

Sunshine多设备游戏串流终极配置指南 【免费下载链接】Sunshine Sunshine: Sunshine是一个自托管的游戏流媒体服务器,支持通过Moonlight在各种设备上进行低延迟的游戏串流。 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine 您是否曾梦想过在客厅…

作者头像 李华
网站建设 2026/7/6 14:53:48

城通网盘直链解析终极方案:告别繁琐下载流程

城通网盘直链解析终极方案:告别繁琐下载流程 【免费下载链接】ctfileGet 获取城通网盘一次性直连地址 项目地址: https://gitcode.com/gh_mirrors/ct/ctfileGet 还在为城通网盘的广告等待和验证码输入而烦恼吗?每天都有大量用户需要从城通网盘下载…

作者头像 李华
网站建设 2026/7/6 18:51:30

es连接工具通俗解释:HTTP与Transport协议对比

如何选对ES连接方式?HTTP与Transport协议的实战解析 你有没有遇到过这样的问题: 写了个Python脚本想从Elasticsearch里查点数据,结果发现连不上? 或者在Java项目中调用ES接口,发现官方文档推荐的方式和老项目里的代码…

作者头像 李华