Elasticsearch查询报错 Result window is too large

一现象:

        es数据分页查询前端提示系统异常,后端报错日志

二根本原因:

默认情况下,Elasticsearch 限制了 from + size 参数的组合不能超过 10,000 条记录,用于防止查询大数据集时对系统资源的过度消耗

三解决办法:

        方法一:修改索引级别的 index.max_result_window 设置来增加允许返回结果窗口的大小

                        方法二:使用 Scroll API:Scroll API 是 Elasticsearch 提供的一种更高效地请求大数据集的方式。通过 Scroll API,您可以持续获取大量数据而无需一次性返回所有数据 

        方法三:使用search_after API

三种分页优缺点对比

分页方式 优点 缺点 场景
from + size 灵活性好,实现简单 深度分页问题

数据量比较小,能容忍深度分页问题

scroll 解决了深度分页问题 无法反应数据的实时性(快照版本)维护成本高,需要维护一个 scroll_id,滚动上下文开销很大 海量数据的导出需要查询海量结果集的数据
search_after 不存在深度分页问题能够反映数据的实时变更 实现复杂,需要有一个全局唯一的字段连续分页的实现会比较复杂,因为每一次查询都需要上次查询的结果 海量数据的分页

相关推荐

  1. mysql日志查看

    2024-02-20 14:48:01       45 阅读
  2. elasticSearch加入排序sort字段后

    2024-02-20 14:48:01       38 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-20 14:48:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-20 14:48:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-02-20 14:48:01       82 阅读
  4. Python语言-面向对象

    2024-02-20 14:48:01       91 阅读

热门阅读

  1. 【算法 - 动态规划】力扣 691. 贴纸拼词

    2024-02-20 14:48:01       55 阅读
  2. typescript type 类型别名详解

    2024-02-20 14:48:01       55 阅读
  3. macad3d解析macad—application,commands,utils

    2024-02-20 14:48:01       41 阅读
  4. unity中UI、shader显示在3D物体前

    2024-02-20 14:48:01       53 阅读
  5. LeetCode 93. 复原 IP 地址

    2024-02-20 14:48:01       56 阅读
  6. yum方式快速安装mysql

    2024-02-20 14:48:01       53 阅读
  7. 动态规划之编辑距离(接上一个题)

    2024-02-20 14:48:01       56 阅读
  8. 物联网芯片ESP8266 介绍

    2024-02-20 14:48:01       47 阅读