脚本字段在木花中的字段有时会丢失。

问题描述 投票:1回答:3

我有一个脚本字段 "传输速度",它的计算方式是 "doc['bytes'].value / doc['duration'].value". 该字段正在工作,但我得到一个警告 "快递取件。6 of 12 shards failed.".

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

谢谢你

elasticsearch kibana-4
3个回答
1
投票

如果你能忍受没有文件的情况下,既没有 bytesduration 值(这可能是有道理的,因为你没有一个带outthem的值),你可以使用存在筛选器,将您的结果限制在那些带有 bytesduration字段。


0
投票

好吧,你需要在取值之前检查这些字段是否存在,比如----------。

If(doc.contains('bytes') && doc.contains('duration')){
       // Do computation
}

这应该可以解决这个问题。


0
投票

试试这个

if(doc['bytes'].value!=null && doc['duration'].value!=null) {
   return doc['bytes'].value / doc['duration'].value
}
© www.soinside.com 2019 - 2024. All rights reserved.