1

我有一个脚本字段“transferspeed”,计算为"doc['bytes'].value / doc['duration'].value". 该字段正在工作,但我收到警告“Courier Fetch: 6 of 12 shards failed.”。

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

谢谢

4

3 回答 3

1

如果您可以没有没有bytesor duration值的文档(这可能有意义,因为没有它们就没有值),您可以使用 exists 过滤器将结果限制为具有bytesandduration 字段的文档.

于 2015-04-17T22:01:42.687 回答
0

好吧,在取值之前,您需要检查这些字段是否存在。就像是 -

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

这应该够了吧。

于 2015-04-17T09:17:55.647 回答
0

试试这个

if(doc['bytes'].value!=null && doc['duration'].value!=null) {
   return doc['bytes'].value / doc['duration'].value
}
于 2017-08-07T08:42:08.533 回答