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

如何从Painless脚本中提取参数数组的长度?

在Painless脚本中获取数组长度的方法

嘿,这事儿超简单的!在Elasticsearch的Painless脚本里,你直接通过数组的length属性就能获取它的长度啦。

针对你给出的示例脚本,只需要在source部分返回params.plus.length就可以拿到数组["a","b","c"]的长度3了,完整脚本如下:

{ 
  "script": { 
    "lang": "painless", 
    "source": "return params.plus.length;" 
  }, 
  "params": { 
    "plus": ["a","b","c"] // 这样就能获取到该数组的长度3
  } 
}

小提示

如果你的业务场景中,数组有可能为null,为了避免触发空指针异常,建议加上空判断逻辑,示例如下:

{ 
  "script": { 
    "lang": "painless", 
    "source": "return params.plus != null ? params.plus.length : 0;" 
  }, 
  "params": { 
    "plus": ["a","b","c"] 
  } 
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 07:09:17