Elasticsearch 深分页限制与解决方案

一、问题原因
Elasticsearch 默认的 index.max_result_window 设置为 10000。

查询时,如果 from + size > 10000,就会报错。注意是 from + size 一起不能超过10000条。

默认分页只适合小数据量查询,不适合一次性拉取所有数据。

二、解决方案
1. 临时调整 index.max_result_window

通过修改索引配置提高限制,例如:

PUT 索引名称/_settings?preserve_existing=true
{
“index.max_result_window”: “50000”
}

这种方式会增加 ES 的内存和 CPU 消耗,不建议无限放大。

2. 调整java代码使用 Scroll API

适合批量拉取大量数据,特点:

返回的是快照数据,不随实时更新。

用完要清理 scroll 上下文。

更适合离线导出、批处理。

三、经验总结
分页查询(from+size)只适合小数据量场景,不适合全量查询。

大数据导出 → Scroll API

实时分页展示 → Search After

特殊情况 → 调整 index.max_result_window(需谨慎)。

欢迎使用66资源网
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!
7. 本站有不少源码未能详细测试(解密),不能分辨部分源码是病毒还是误报,所以没有进行任何修改,大家使用前请进行甄别!

66源码网 » Elasticsearch 深分页限制与解决方案

提供最优质的资源集合

立即查看 了解详情