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

如何在Kibana中使用脚本字段对列表内的值求和

问题:gapsLength列表求和失败求助

我尝试对gapsLength字段返回的整数列表值进行求和,但始终未成功。该列表包含多个整数值。

我尝试的代码如下:

int sum = 0;
for (int number : doc["gap average.gapsLength"]) {
    sum += number;
}
return sum;
解决思路
  • 先确认doc["gap average.gapsLength"]的返回类型:打印它的类信息,判断是否为List<Integer>或可迭代的整数集合
    System.out.println(doc["gap average.gapsLength"].getClass());
    
  • 若返回的是List<Object>,需先转型再遍历求和:
    int sum = 0;
    List<Object> gapsList = (List<Object>) doc["gap average.gapsLength"];
    for (Object item : gapsList) {
        sum += (Integer) item;
    }
    return sum;
    
  • 用Java 8+流操作简化求和(兼容类型转换):
    return ((List<?>) doc["gap average.gapsLength"])
            .stream()
            .mapToInt(obj -> (Integer) obj)
            .sum();
    
  • 检查字段名是否正确:确认"gap average.gapsLength"的拼写、空格、大小写是否与实际字段完全匹配,避免因字段名错误导致获取不到目标列表。

内容的提问来源于stack exchange,提问作者Filipe Soares

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 10:11:07