В вашем сопоставлении вы определили пользовательский формат даты (yyyy-MM-DD HH:mm:ss
) для created_at
и updated_at
. Поля raw
также являются типом даты, но используют формат по умолчанию (который в соответствии с doc является date_optional_time , что означает yyyy-MM-DD'T'HH:mm:ss
).
Это означает, что первый ожидает 2018-07-13 07:52:02
, в то время как последний 2018-07-13T07:52:02
, поэтому вы индексирование не можете избежать нарушения одного из двух.
Теперь использование поля предназначены для индексирования значений по-разному, но вы делаете это, чтобы создать новое поле raw с в основном теми же свойствами базового значения (они оба являются типами даты, кроме для несогласованности в формате, конечно).
Итак, по-моему, у вас есть варианты:
"created_at": {"type": "date", "format": "yyyy-MM-DD HH:mm:ss"}
"created_at": {"type": "date", "format": "yyyy-MM-DD HH:mm:ss", "fields": {"raw": {"type": "keyword"}}}
"created_at": {"type": "date", "format": "yyyy-MM-DD HH:mm:ss", "fields": {"raw": {"type": "date", "format": "yyyy-MM-DD HH:mm:ss"}}}