kibana中的脚本字段,用于有时缺少的字段

时间:2015-04-17 08:18:22

标签: elasticsearch kibana-4

我有一个脚本字段“transferspeed”,其计算方式为“doc ['bytes']。value / doc ['duration']。value”。该字段正在运行,但我收到警告“Courier Fetch:12个分片中的6个失败。”。

我认为这是因为所有文件都不存在'字节'。我怎么能解决这个问题,是否可以调整脚本或者我必须在没有字节字段的文件中添加带有0的'字节'字段?

由于

3 个答案:

答案 0 :(得分:1)

如果你没有没有bytes或者{。}}的文件,你可以生活 duration值(这可能有意义,因为你没有价值 他们),你可以使用 exists 过滤以将结果限制为bytesduration的文档 字段。

答案 1 :(得分:0)

嗯,您需要在获取其值之前检查这些字段是否存在。 像 -

这样的东西
If(doc.contains('bytes') && doc.contains('duration')){
       // Do computation
}

这应该可以解决问题。

答案 2 :(得分:0)

试试这个

if(doc['bytes'].value!=null && doc['duration'].value!=null) {
   return doc['bytes'].value / doc['duration'].value
}