Эластичный формат даты - PullRequest
1 голос
/ 15 апреля 2019

Я указал информацию о сопоставлении в шаблоне, как показано ниже:

    "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"
            }

И когда я пытался вставить документ в указатель, я получаю следующую ошибку.

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");

1 Ответ

1 голос
/ 15 апреля 2019

Как упомянуто в этой ссылке , ниже то, что z и Z означает

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"
   }
}

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...