运行Elasticsearch 7.3.2。
我有两个浮点字段“timeEnd”和timeStart。我只是想退还差额。
在Kibana索引模式中,我创建了一个脚本变量“rate”:
if (doc['timeEnd'].length==0) return null;
if (doc['timeStart'].length==0) return null;
return doc['timeEnd'].value-doc['timeStart'].value;
这是返回的内容:
[
{
"timeEnd": null,
"timeStart": 1571760869.518571,
"rate": [
null
]
},
{
"timeEnd": 1571760898.821922,
"timeStart": 1571760736.872881,
"rate": [
128
]
},
{
"timeEnd": 1571760893.483377,
"timeStart": 1571760879.161604,
"rate_mbps": [
0
]
},...
返回的大多数值为0或128。
最佳答案
timeEnd和timeStart均为float类型,是单精度32位浮点数。您需要将它们更改为double,这是一个 double 64位浮点数