运行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位浮点数

08-07 20:07