2017-02-14 117 views
0

我的映射中有以下動態模板。ElasticSearch - 映射中的無效日期時間格式

"dt": { 
    "match": "*Time", 
    "mapping": { 
     "type": "date", 
     "format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd HH:mm:ss.SSS||yyyy-MM-ddTHH:mm:ssZ" 
    } 
} 

然而,當我插入帶有 「BirthTime」 一份文件: 「1992-05-06T00:00:00Z」 我收到以下錯誤:

"type":"illegal_argument_exception","reason":"Invalid format: [yyyy-MM-ddTHH:mm:ssZ]: Illegal pattern component: T" 

我以爲我的日期時間格式是ISO ES應該瞭解的標準。我的映射格式應該支持BirthTime?

在此先感謝。

回答

3

使用

"format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd HH:mm:ss.SSS||yyyy-MM-dd'T'HH:mm:ssZZ"

代替

"format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd HH:mm:ss.SSS||yyyy-MM-ddTHH:mm:ssZ"

+0

工作!任何指向爲什麼這項工作或在文檔中的位置?再次感謝! – user481779

+0

Elasticsearch使用Joda進行日期時間操作。請參閱:http://www.joda.org/joda-time/apidocs/org/joda/time/format/DateTimeFormat.html –