2015-03-30 14 views
5

Vorrei capire come ES memorizza internamente i valori delle date nei suoi indici. Converte in UTC?Comprendere come internamente le date dei negozi elasticsearch

Ho un campo "t" di tipo data. Ecco la mappatura:

"t": { "type" : "date" }, 

Ora quando inserisco/aggiungo un documento a ES, come memorizza nei suoi indici.

  1. "t": "1427700477165" (millisecondi generati dalla funzione Date.now()). ES riconosce il suo periodo storico in UTC e memorizza così com'è?

  2. "t": "2015-03-29T23: 59: 59" (aggiusto il formato della data di mappatura di conseguenza): come memorizza ES questo. Se viene convertito in UTC, come fa a sapere quale fuso orario è questa data e convertirla in UTC? ES ottiene il fuso orario predefinito dalla macchina su cui è in esecuzione?

Grazie!

risposta

10

Internamente (all'interno di un indice) Elasticsearch memorizza tutte le date come numeri in formato epoche - ovvero il numero di millisecondi dal 01 gennaio 1970 00:00:00 GMT.

Tuttavia, Elasticsearch per impostazione predefinita memorizza anche il messaggio postato JSON non elaborato, quindi al momento di restituire lo _source vedrai ciò che è stato pubblicato su Elasticsearch.

Per essere in grado di importare le stringhe di data nel formato epoca è necessario specificare il formato nel vostro mappatura, ad esempio, o un predefined date format:

"t": { "type" : "date", "format" : "basic_date_time" } 

per yyyyMMdd'T'HHmmss.SSSZ.

o specificare un custom date format:

"t": { "type" : "date", "format" : "YYYY-MM-dd" } 
  • Se non viene specificato alcun formato, l'analisi data di default utilizzato è ISODateTimeFormat.dateOptionalTimeParser.
  • Nella mappatura è possibile specificare più formati di data, ad es. yyyy/MM/dd HH:mm:ss||yyyy/MM/dd
  • Se nessun fuso orario viene specificato quindi elasticsearch assume UTC
+0

Consideriamo il "formato": "yyyyMMdd'T'HHmmss". Non ha informazioni sul fuso orario. In che fuso orario ES considera questa data? – user3658423

+1

Elasticsearch assume UTC se non vengono fornite informazioni sul fuso orario –

Problemi correlati