23

Bir datetime dizesini Elasticsearch içine eklemek istediğimde bir sorunla karşılaştım.Mağaza Tarih Biçimi elasticsearch içinde

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

Bu belge Ben Elasticsearch Tarih Biçimi kullanabileceğinizi biliyor "NumberFormatException" [For input string: \"20130724 00:00:00\"]

olan bir hata kaldırdı, ama ben bile nasıl kullanılacağını bilmiyorum:

belge altındadır Belgeyi web sitesinde okudum.

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

ve

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

yanlış.

datetime dizesini Elasticsearch içinde tarih biçimine nasıl aktarabilirim?

datetime dizesini doğrudan Elasticsearch içine nasıl kaydedebilirim?

+1

Birden çok formatı desteklemek için çift borulu kullanabilirsiniz. Örneğin. "yyyMMdd || yyyy-MM-dd" –

cevap

27

Neredeyse oradasınız. Böyle eşleşmiş olarak ayarlayın:

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

the date mapping and its options ve the date format parameter (tarih haritalama seçeneklerden birinden) üzerinde doküman okuyun.

İyi şanslar!

+0

"Format" datetime dizgesinin "2013/07/24 00:00:00" olduğunu nasıl biliyor? Yoksa şimdi detetime kullanacak mı? "LastUpdate" olarak değiştiriyorum: {"type": "date", "format": "yyyy/AA/dd HH: mm: ss"}, "ElasticSearchIllegalArgumentException [unknown property [type]]" olan başka bir hata ortaya çıkardı. –

+0

Bu benim verdiğim haritalama. "" Biçim ":" yyyy/AA/gg HH: dd: ss ", elasticsearch'in bu biçimdeki tarihleri ​​kabul etmesini söyler. – ramseykhalaf

+0

elasticsearch'in hangi veriyi bildiğine nasıl/itebilirim? –