2016-12-02 4 views
1

Ich versuche, die Zeitdifferenz (in Stunden) zwischen zwei Datumsfeldern zu visualisieren.Visualisierung der Zeitdifferenz zwischen zwei Feldern in Elasticsearch und Kibana

Die Felder sind wie folgt erklärt:

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

Die Lösung war ich gefunden:

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

Das Ergebnis I ist wie folgt:

enter image description here

I‘ Wenn diese Zahl entweder in Sekunden, Minuten oder Stunden ist, was mache ich dann? g falsch?

Antwort

2

Wie wäre es damit?

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

Es wird ein Array mit allen Unterschieden zurückkehren Sie benötigen, das heißt

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

Hey wieder, ich sollte Sie setzen auf Kurzwahl Sie so verdammt schnell sind! Dies verbirgt jedoch meine Daten, ich möchte auch die anderen Daten sehen. (auch, wie könnte ich die Minuten-Differenz in Kibana bekommen) –

+0

Sie können einfach 'msDiff' auch im Array zurückgeben und Sie werden auch Millisekunden Unterschied. – Val

+0

Sorry, ich war nicht klar genug. Dies gibt nur das Objekt "fields" zurück, aber ich möchte auch das Objekt _source. Irgendwelche Tipps, um dies in Kibana zu bekommen? –

Verwandte Themen