You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决Elasticsearch中Index 128 out of bounds for length 128异常

Elasticsearch composite聚合嵌套top_hits数组越界问题解决方案

该array_index_out_of_bounds_exception: Index 128 out of bounds for length 128异常为Elasticsearch已知版本问题,触发条件为在composite聚合内部嵌套top_hits聚合,且匹配的嵌套文档数量触及ES内部默认的128位缓存槽位上限。

可通过以下方式解决:

  • 显式限制top_hits返回数量:在top_hits聚合参数中显式设置size为小于等于127的数值,避免触及默认上限,参考聚合语句如下:
{
  "aggs": {
    "composite_agg": {
      "composite": {
        "sources": [
          // 此处填写你的composite聚合源配置
        ]
      },
      "aggs": {
        "top_hits_agg": {
          "top_hits": {
            "size": 100, // 显式设置size小于128
            "_source": ["*"] // 按需指定返回字段
          }
        }
      }
    }
  }
}
  • 升级Elasticsearch版本:该bug已在7.17.10、8.6.0及以上正式版本修复,升级到对应版本后无需修改原有聚合逻辑即可正常执行。
  • 拆分聚合逻辑:如果暂时无法升级且需要返回超过127条top_hits结果,可先单独执行composite聚合拿到所有桶的key值,再根据key值发起普通查询获取对应top_hits结果,避免嵌套触发异常。

内容的提问来源于stack exchange,提问作者shreyansh soni

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 11:06:00