Search code examples
pythonelasticsearchupsert

how to use python Elasticsearch client upsert api


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.


Solution

  • The example code is 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 body is without doc_as_upsert=true the code would throw an exception when the id is not existing. Additionally, make sure your data were wrapped in doc.