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

Runtime Field脚本:如何让long类型字段无值时输出null而非0

解决方案

修改后的Runtime Field映射脚本如下:

PUT /my-logs-dev/_mapping
{
    "runtime": {
      "fields.Metric.ElapsedSeconds": {
        "type": "long",
        "script": {
          "source": "if(doc['fields.Metric.ElapsedMilliseconds'].length>0) {
                         emit(Math.round(doc['fields.Metric.ElapsedMilliseconds'].value / 1000d)); 
                     }"
        }
      }
    }
}

修改说明

  • 移除原脚本中else分支的emit(0)操作。当fields.Metric.ElapsedMilliseconds字段无值时,脚本不会调用emit()方法,此时该Runtime Field会自动返回null。
  • 这样设置后,仪表板等场景的聚合操作会直接忽略无值的文档,避免用0稀释聚合结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 22:20:20