首页 > 解决方案 > Elasticsearch 日期无效格式太短

问题描述

我有一个starts_at带有映射字段的弹性搜索模型

"starts_at": {
               "type": "date",
               "format": "yyyy-MM-dd'T'HH:mm:ssZ"
             }

当我尝试进入2018-07-29T13:00:00Z时,我得到了错误Invalid format: \"2018-07-29\" is too short"

Elasticsearch::Transport::Transport::Errors::BadRequest: [400] {"error":{"root_cause":[{"type":"mapper_parsing_exception","reason":"failed to parse [starts_at]"}],"type":"mapper_parsing_exception","reason":"failed to parse [starts_at]","caused_by":{"type":"illegal_argument_exception","reason":"Invalid format: \"2018-07-29\" is too short"}},"status":400}

我究竟做错了什么?

标签: rubyelasticsearch

解决方案


我无法重现它:

DELETE test 
PUT test
{
  "mappings": {
    "_doc": {
      "properties": {
        "starts_at": {
          "type": "date",
          "format": "yyyy-MM-dd'T'HH:mm:ssZ"
        }
      }
    }
  }
}
POST test/_doc
{
  "starts_at": "2018-07-29T08:00:00-05:00"
}

这很好用...


推荐阅读