gpt4 book ai didi

elasticsearch - 弹性日期格式

转载 作者:行者123 更新时间:2023-12-02 23:15:37 25 4
gpt4 key购买 nike

我在模板中指定了映射信息,如下所示:

    "createdDate": {
"type": "date",
"format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis||EEE MMM dd HH:mm:ss Z YYYY||dd MMM yyyy HH:mm:ss zzz"
},
"expirationDate": {
"type": "date",
"format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis||EEE MMM dd HH:mm:ss Z YYYY||dd MMM yyyy HH:mm:ss zzz"
}

当我尝试将 Doc 插入索引时,出现以下错误。
PUT my_index/MyDocType/5c7ab034-5de3-4401-8b46-7f8158618b68
{
"uuid": "5c7ab034-5de3-4401-8b46-7f8158618b68",
"createdDate": "15 Apr 2019 14:10:10 EDT",
"expirationDate": "10 Oct 2019 00:00:00 EDT"

}

这是我得到的错误:
{
"error": {
"root_cause": [
{
"type": "mapper_parsing_exception",
"reason": "failed to parse [createdDate]"
}
],
"type": "mapper_parsing_exception",
"reason": "failed to parse [createdDate]",
"caused_by": {
"type": "illegal_argument_exception",
"reason": "Invalid format: \"15 Apr 2019 14:10:10 EDT\" is malformed at \" Apr 2019 14:10:10 EDT\""
}
},
"status": 400
}

我可以使用以下方法解析字符串值,而不会出现任何问题。不知道为什么 Elastic 在解析日期字符串的月份部分时提示!
SimpleDateFormat sdf = new SimpleDateFormat("dd MMM yyyy HH:mm:ss zzz");

最佳答案

如本文所述 link , 下面是 zZ方法

z time zone                    text               Pacific Standard Time; PST
Z time zone offset/id zone -0800; -08:00; America/Los_Angeles

您的格式似乎无效 Joda DateTimeFormat

添加正确的格式 dd MMM yyyy HH:mm:ss z如下所述,映射到您的映射应该可以解决您的问题。
{  
"createdDate":{
"type":"date",
"format":"yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis||EEE MMM dd HH:mm:ss Z YYYY||dd MMM yyyy HH:mm:ss zzz||dd MMM yyyy HH:mm:ss z"
}
}

希望能帮助到你!

关于elasticsearch - 弹性日期格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55695426/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com