Подтвердить что ты не робот

Как обновить документ с помощью 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".

4b9b3361

Ответ 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 }})