Я пытаюсь изменить формат даты одного из полей вasticsearch (v2.3). В настоящее время он имеет поле: значение в формате, показанном ниже:
"lastChange" : "2019-07-05 11:35:16"
Теперь я хочу добавить UTC в формате времени, чтобы он выглядел как
"lastChange" : "2019-07-05 11:35:16 UTC"
Я пробовал запрос curl -u user:passwd -XPOST 'http://localhost:9200/proc/task/_update_by_query' -H 'Content-Type: application/json' -d' {"script":{"inline":"ctx._source.lastChange=2018-01-01"},"query":{"exists":{"field":"jSrcIp"}}}'
, но это не удается из-за следующей ошибки
{"took":58,"timed_out":false,"total":3,"updated":0,"batches":1,"version_conflicts":0,"noops":0,"retries":0,"failures":[{"index":"proc_v1","type":"tasks","id":"10","cause":{"type":"mapper_parsing_exception","reason":"failed to parse [lastChange]","caused_by":{"type":"illegal_argument_exception","reason":"Invalid format: \"2016\" is too short"}},"status":400},{"index":"proc_v1","type":"tasks","id":"11","cause":{"type":"mapper_parsing_exception","reason":"failed to parse [lastChange]","caused_by":{"type":"illegal_argument_exception","reason":"Invalid format: \"2016\" is too short"}},"status":400},{"index":"proc_v1","type":"tasks","id":"12","cause":{"type":"mapper_parsing_exception","reason":"failed to parse [lastChange]","caused_by":{"type":"illegal_argument_exception","reason":"Invalid format: \"2016\" is too short"}},"status":400}]}
Кроме того, я не уверен, почему это говорит
«2016 год слишком короток»
в ошибке.
Но если я попытаюсь изменить другое поле аналогичным образом, это сработало. Я попробовал другой запрос curl -u user:passwd -XPOST 'http://localhost:9200/proc/tasks/_update_by_query' -H 'Content-Type: application/json' -d' {"script":{"inline":"ctx._source.fileSize=2000"},"query":{"exists":{"field":"jSrcIp"}}}'
, и во всех записях появилось новое поле fileSize со значением 2000.