54

有没有人有一个如何使用更新的例子?它在此处记录,但文档不清楚,并且不包含工作示例。我尝试了以下方法:

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;]')

我想使用部分文档进行更新,但更新方法不采用任何名为“文档”或“文档”的参数。

4

1 回答 1

94

你快到了,你只需要将你的身体包含在一个“doc”字段中。使用 elasticsearch-py 进行部分更新的正确方法如下:

coll = Elasticsearch()
coll.update(index='stories-test',doc_type='news',id=hit.meta.id,
                body={"doc": {"stanford": 1, "parsed_sents": parsed }})
于 2015-06-02T14:17:43.707 回答