使用Python请求更新ElasticSearch文档

问题描述 投票:0回答:1

我正在使用Python请求库在我的应用程序中实现ElasticSearch 7.1.1。我已经使用

在弹性索引中成功创建了一个文档

r = requests.put(url, auth=awsauth, json=document, headers=headers)

但是,当更新现有文档时,我传递给该方法的JSON正文(包含要更新的值)将替换原始文档。我该如何克服呢?谢谢。

elasticsearch python-requests python-3.7
1个回答
0
投票

您可以执行以下操作:

document = {
    "doc": {
        "field_1": "value_1",
        "field_2": "value_2"
    },
    "doc_as_upsert": True
}

...
r = requests.post(url, auth=awsauth, json=document, headers=headers)
  1. 应该是POST,而不是PUT
  2. 您可以更新现有字段,也可以添加新字段。

请参阅Nishant Saini发表的评论中的doc。>>

© www.soinside.com 2019 - 2024. All rights reserved.