Как обновить документ с помощью elasticsearch-py?
Есть ли у кого-нибудь пример использования обновлений? Он документировал здесь, но документация неясна и не включает рабочий пример. Я пробовал следующее:
coll = Elasticsearch()
coll.update(index='stories-test',doc_type='news',id=hit.meta.id,
body={"stanford": 1, "parsed_sents": parsed })
и я получаю
elasticsearch.exceptions.RequestError:
TransportError(400, u'ActionRequestValidationException[Validation Failed: 1: script or doc is missing;]')
Я хотел бы обновить с помощью частичного документа, но метод обновления не принимает никаких аргументов с именем "doc" или "document".
Ответы
Ответ 1
Вы почти там, вам просто нужно приложить свое тело в поле "doc". Правильный способ частичного обновления с помощью elasticsearch-py выглядит следующим образом:
coll = Elasticsearch()
coll.update(index='stories-test',doc_type='news',id=hit.meta.id,
body={"doc": {"stanford": 1, "parsed_sents": parsed }})