У меня есть данные в моем упругом индекс, как показано ниже:Как обновить поле даты в elasticsearch
индексированные данные, как:
curl -XPUT 'http://localhost:9200/twitter/tweet/1' -d '{
"user" : "kimchy",
"post_date" : "2009-11-15T14:12:12",
"message" : "trying out Elasticsearch"
}'
карт, полученных с использованием
локон -XGET локальный: 9200/twitter
{"twitter": {"aliases": {}, "mappings": {"tweet": {"properties": {"message": {"type": "string"}, "post_date ": {" Тип ":" дата "" е Ormat ":" strict_date_optional_time || epoch_millis "}," пользователь ": {" Тип ":" строка "}}}}," Настройки ": {" Индекс ": {" CREATION_DATE ":" 1456739938440" , "number_of_shards": "5", "number_of_replicas": "1", "UUID": "DwhS57l1TsKQFyzY23LSiQ", "вариант": { "создано": "2020099"}}}, "грелок": {}}}
Теперь, если я модифицирования пользователя, как показано ниже, я могу сделать то же самое:
curl -XPOST 'http://localhost:9200/twitter/tweet/1/_update' -d '{
"script" : "ctx._source.user=new_user",
"params" : {
"new_user" : "search"
}
}'
Но когда я попытался изменения полей даты, как показано ниже, что дает исключение:
curl -XPOST 'http://localhost:9200/twitter/tweet/1/_update' -d '{
"script" : "ctx._source.post_date='new-date'",
"params" : {
"new-date" : "2016-02-02T16:12:23"
}
}'
Исключение получили:
{ "Ошибка": { "ROOT_CAUSE": [{ "типа": "remote_transport_exception", "причина": "[Аномалия] [127.0.0.1:9300] [Индексы: данные/write/update [s]] "}]," type ":" illegal_argument_exception "," reason ":" failed выполнить script "," cause_by ": {" type ":" script_exception "," reason ": «Не удалось установить скомпилировать встроенный скрипт [ctx._source.post_date = new-date] с помощью lang [groovy]", "cause_by": {"type": "script_exception", "reason": "failed compile groovy script "," cause_by ": {" type ":" multiple_compilation_errors_exception "," reason ":" startup failed: \ ne90a551666b36d90e4fc5b08d04250da5c4d552d: 1: неожиданно маркер: - @ строка 1, столбец 26. \ п ctx._source.post_date = новая дата \ п
^ \ п \ n1 ошибки \ п "}}}}
Теперь может кто-нибудь, дай мне знаю, как я могу справиться с этим.
~ Прашант
Можете ли вы поделиться картирование с помощью 'локон -XGET локальный : 9200/your_index'? – Val
которое исключение? Чтобы задать очевидный вопрос, уверены ли вы, что вы не пишете 'last-login' или' new-login'? –
Где находится '-' в приведенном выше примере? –