Обновите документ ElasticSearch, используя запросы Python - PullRequest
0 голосов
/ 22 октября 2019

Я реализую ElasticSearch 7.1.1 в своем приложении, используя библиотеку запросов Python. Я успешно создал документ в индексе эластичности, используя

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

Однако при обновлении существующего документа тело JSON (содержащее обновляемые значения), которое я передаю методу, заменяет оригинальный документ. Как мне это преодолеть? Спасибо.

1 Ответ

0 голосов
/ 22 октября 2019

Вы можете сделать следующее:

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.

...