Elasticsearch «Безболезненный» возвращает неправильные и округленные значения - PullRequest
0 голосов
/ 24 октября 2019

Запуск 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.

1 Ответ

0 голосов
/ 25 октября 2019

timeEnd и timeStart имеют тип с плавающей запятой, который является 32-разрядным числом с плавающей запятой одинарной точности. Вам нужно изменить их на удвоение, что является 64-битным числом с плавающей запятой двойной точности

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...