Преобразование даты и времени MySQL в ElasticSearch strict_date_optional_time

При попытке вставить MySQL в ElasticSearch я получаю следующую ошибку: mapper_parsing_exception: failed to parse [updated_time]

updated_time Я пытаюсь подтолкнуть это 2017-01-23 17:41:27

Отображение определяется как:

"updated_time": {
"type": "date",
"format": "strict_date_optional_time||epoch_millis"}

Как ни странно, при отправке такой даты и времени из Logstash, ElasticSearch с этим согласен. Но при отправке из официальной библиотеки PHP на этом не получается.

Это выглядит как довольно строгий объект datetime, который поступает непосредственно из MySQL. Нужно ли конвертировать это?

1

Решение

Дата и время из MySQL не соответствуют ISO8601, что требуется от strict_date_optional_time,

Вы можете изменить свое сопоставление таким образом, чтобы принять другой формат даты

PUT your_index/_mapping/your_type?update_all_types=true
{
"properties" : {
"updated_time": {
"type": "date",
"format": "strict_date_optional_time||epoch_millis||yyyy-MM-dd HH:mm:ss"}
}
}
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]