我有一个脚本字段“transferspeed”,计算为"doc['bytes'].value / doc['duration'].value"
. 该字段正在工作,但我收到警告“Courier Fetch: 6 of 12 shards failed.”。
我认为这是因为并非所有文档都存在“字节”。我该如何解决这个问题,是否可以调整脚本或者我必须在没有字节字段的文档中添加一个 0 的“字节”字段?
谢谢
我有一个脚本字段“transferspeed”,计算为"doc['bytes'].value / doc['duration'].value"
. 该字段正在工作,但我收到警告“Courier Fetch: 6 of 12 shards failed.”。
我认为这是因为并非所有文档都存在“字节”。我该如何解决这个问题,是否可以调整脚本或者我必须在没有字节字段的文档中添加一个 0 的“字节”字段?
谢谢
如果您可以没有没有bytes
or
duration
值的文档(这可能有意义,因为没有它们就没有值),您可以使用
exists
过滤器将结果限制为具有bytes
andduration
字段的文档.
好吧,在取值之前,您需要检查这些字段是否存在。就像是 -
If(doc.contains('bytes') && doc.contains('duration')){
// Do computation
}
这应该够了吧。
试试这个
if(doc['bytes'].value!=null && doc['duration'].value!=null) {
return doc['bytes'].value / doc['duration'].value
}