2016-12-02 1 views
1

J'essaie de visualiser le décalage horaire (en heures) entre deux champs de date.Visualisation de la différence de temps entre deux champs dans Elasticsearch et Kibana

Les champs sont déclarés comme ceci:

"fieldname": { 
    "type": "date" 
    }, 

La solution que j'ai trouvé:

, 
    "script_fields" : { 
    "timedifference" : { 
     "script" : "doc['loading_startTime'].value - doc['startTime'].value" 
    } 
    } 

Le résultat que je reçois est comme suit:

enter image description here

Je d aimer que ce nombre soit en secondes, minutes ou heures, qu'est-ce que je fais g mal?

Répondre

2

Que pensez-vous de cela?

"script_fields" : { 
    "timedifference" : { 
    "script" : "def msDiff = (doc['loading_startTime'].value - doc['startTime'].value); return [msDiff/1000.0, msDiff/60000.0, msDiff/3600000.0]" 
    } 
} 

Il va retourner un tableau avec toutes les différences dont vous avez besoin, à savoir

"fields": { 
    "timedifference": [ 
     2700,    <-- difference in seconds 
     45,     <-- difference in minutes 
     0.75,    <-- difference in hours 
    ] 
} 
+0

Hé à nouveau, je vous mettre sur la vitesse que vous êtes si cadran sacrément rapide! Cela cache cependant mes données, j'aimerais voir les autres données aussi. –

+0

Vous pouvez également renvoyer 'msDiff' dans le tableau et vous obtiendrez également une différence de millisecondes. – Val

+0

Désolé, je n'étais pas assez clair. Cela ne renvoie que l'objet "fields" mais je voudrais aussi l'objet _source. Un conseil pour l'obtenir à Kibana? –