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

Kibana 6.2.1中使用JSON输入创建条件指标的脚本修复求助

修复Kibana 6.2.1中的字段值替换脚本

我来帮你搞定这个脚本问题!你原脚本的问题主要是不符合Elasticsearch Painless脚本的语法规范,咱们调整一下就能实现需求:当指标值小于0时显示0,否则显示原值。

正确的脚本写法

你可以用两种方式实现,选你觉得顺手的就行:

方式1:三元运算符(更简洁)

{"script": "def val = doc['<<fieldname>>'].value; return val < 0 ? 0 : val;" }

方式2:if-else语句(更直观)

{"script": "def val = doc['<<fieldname>>'].value; if (val < 0) { return 0; } else { return val; }" }

关键调整说明

  • 去掉了原脚本里多余的then关键字,Painless的if语句不需要这个
  • 用def定义变量存储字段值,让代码更清晰也避免重复调用doc['field'].value
  • 必须用return来明确返回结果,原脚本缺少返回逻辑,这是核心问题
  • 规范了大括号的使用,确保代码块结构正确

注意事项

  1. 记得把<<fieldname>>替换成你实际要处理的字段名称
  2. 确保这个字段是数值类型(比如integer、float、double),如果是字符串类型需要先转换,不然会出现类型不匹配的错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 06:58:07