5

Ich sammle Dokumente, die jeweils einen Zeitstempel haben. Der Zeitstempel ist UTC, aber die Dokumente haben auch eine lokale Zeitzone ("timezone": "America/Los_Angeles"), die sich in den verschiedenen Dokumenten unterscheiden kann.Dynamischer Zeitzonen-Offset in elasticsearch aggregation?

Ich versuche, eine date_histogram aggregation basierend auf Ortszeit, nicht UTC oder einer festen Zeitzone (z. B. mit der Option "time_zone": "America/Los_Angeles") zu tun.

Wie kann ich die Zeitzone für jedes Dokument in seine lokale Zeit vor der Aggregation konvertieren?

Hier ist die einfache Aggregation:

{ 
    "aggs": { 
    "date": { 
     "date_histogram": { 
     "field": "created_timestamp", 
     "interval": "day" 
     } 
    } 
    } 
} 
+0

Haben Sie jemals eine Lösung dafür gefunden? Ich weiß, das ist alt, aber ich bin in genau der gleichen Position und dachte mir, ich würde es überprüfen, bevor ich eine ansonsten doppelte Frage posten würde. –

Antwort

0

Ich bin nicht sicher, ob ich es voll und ganz verstehen, aber es scheint, wie die time_zone property dafür wäre:

Der Wert Zone akzeptiert entweder ein numerischer Wert für den Stundenoffset, zum Beispiel: "time_zone": -2. Es akzeptiert auch ein Format von Stunden und Minuten, wie "time_zone": "-02: 30". Eine andere Möglichkeit besteht darin, eine Zeitzone anzugeben, die als einer der hier aufgeführten Werte akzeptiert wird.

0

Wenn Sie ein anderes Feld speichern, das die Ortszeit ohne Zeitzoneninformationen ist, sollte es funktionieren.

Nehmen Sie jeden Zeitstempel, den Sie haben (in UTC), umwandeln Sie ihn in ein Datum in der lokalen Zeitzone (dies enthält die Zeitzoneninformationen). Ziehen Sie jetzt einfach die Zeitzoneninformationen von diesem Datum-Uhrzeit. Jetzt können Sie Aktionen für dieses neue Feld ausführen.

Angenommen, Sie mit dieser Zeit in UTC beginnen: '2016-07-17T01: 33: 52.412Z'

Nun nehmen wir Sie in der PDT sind Sie es konvertieren: ‚2016-07- 16T18: 33: 52,412 bis 07: 00'

Nun hacken das Ende ab, so dass Sie am Ende mit: '2016-07-16T18: 33: 52.412Z'

Jetzt können Sie auf diesem Gebiet arbeiten .

Verwandte Themen