如何使用 elasticsearch-py 更新文档?

How to update a document using elasticsearch-py?

有没有人有关于如何使用更新的示例?它已记录 here,但文档不清楚,并且不包含工作示例。我尝试了以下方法:

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'.

的参数

就快完成了,您只需要将 body 包含在 "doc" 字段中。使用 elasticsearch-py 进行部分更新的正确方法是这样的:

coll = Elasticsearch()
coll.update(index='stories-test',doc_type='news',id=hit.meta.id,
                body={"doc": {"stanford": 1, "parsed_sents": parsed }})