问题
I'm using Elasticsearch python client as http://elasticsearch-py.readthedocs.org/ I tried hard but still could not find the update api with upsert. Could anyone give me an example with ES python client upsert api please.
回答1:
The example code as following:
from elasticsearch import Elasticsearch
es = Elasticsearch("localhost:9200")
es.update(index='test',doc_type='test1',id='1',body={'doc':{'username':'Tom'},'doc_as_upsert':True})
if without doc_as_upsert=true
it would throw exception when the id is not existing. Additionally, please make sure your data were wrapped in doc{}.
回答2:
Method index(*args, **kwargs)
adds or updates a typed JSON document in a specific index, making it searchable.
As pointed out in Python Elasticsearch Client -> API Documentation.
来源:https://stackoverflow.com/questions/33226831/how-to-use-python-elasticsearch-client-upsert-api