how to use python Elasticsearch client upsert api

Jack picture Jack · Oct 20, 2015 · Viewed 9k times · Source

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.

Answer

user5314006 picture user5314006 · Oct 20, 2015

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{}.