23

Ho incontrato un problema quando desidero aggiungere una stringa datetime in Elasticsearch.Formato data negozio in elasticsearch

Il documento è qui sotto:

{"LastUpdate" : "2013/07/24 00:00:00"} 

Questo documento ha sollevato un errore che è "NumberFormatException" [For input string: \"20130724 00:00:00\"]

So che posso usare il formato di data in elasticsearch, ma non so come utilizzare anche Ho letto il documento sul sito web.

{"LastUpdate": { 
    "properties": { 
     "type": "date", 
     "format": "yyyy-MM-dd"} 
    } 
} 

e

{"LastUpdate": { 
    "type": "date", 
    "format": "yyyy-MM-dd" 
    } 
} 

sono sbagliate.

Come posso trasferire la stringa datetime in formato data in Elasticsearch?

Come posso memorizzare la stringa datetime direttamente in Elasticsearch?

+1

uno può utilizzare il doppio tubo per supportare più formati. per esempio. "yyyMMdd || yyyy-MM-dd" –

risposta

27

Sei quasi arrivato. Impostare la mappatura in questo modo:

{"LastUpdate": { 
    "type" : "date", 
    "format" : "yyyy/MM/dd HH:mm:ss"} 
} 

leggere la documentazione sul the date mapping and its options e the date format parameter (una delle opzioni per la mappatura della data).

Buona fortuna!

+0

In che modo "format" sa che la stringa datetime è "2013/07/24 00:00:00"? O utilizzerà ora il datetime? Cambio in "LastUpdate": {"tipo": "data", "formato": "aaaa/MM/gg HH: mm: ss"}, ha generato un altro errore che è "ElasticSearchIllegalArgumentException [proprietà sconosciuta [tipo]]" –

+0

Questa è la mappatura che ho dato. Il "formato": "aaaa/MM/gg HH: mm: ss" 'dice a elasticsearch di accettare le date in quel formato. – ramseykhalaf

+0

Come posso spingere/lasciare elasticsearch a sapere quali sono i dati? –