elasticsearch - Elasticsearch“Painless”返回错误和四舍五入的值
问题描述
运行 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 位浮点数。您需要将它们更改为双精度 64 位浮点数
推荐阅读
- javascript - 尽管 xPath 识别了元素,但 puppteer click() 方法不起作用
- node.js - 我在 NEST.JS LAMBDA PROXY 应用程序上收到 CORS 错误
- solana - Solana what is a good zero value address or default address?
- python - Django:嵌套的for循环不能正常工作
- jquery - 在滚动时绘制 SVG 线条持续时间
- python - GCP 数据流批处理作业 - 防止工作人员在批处理作业中一次运行多个元素
- typescript - 如何在 Typescript 中包装具有多个重载的函数?
- html - 将 Google 幻灯片发布到网络(特定页面)
- python - Docker 套接字和 Python
- spring-boot - 为什么 Spring Data MongoDB 插入/保存操作不返回 ObjectId