# Elasticsearch with python

**URL:** <https://discuss.elastic.co/t/elasticsearch-with-python/25977>\
**Category:** Elasticsearch\
**Created:** [July 21, 2015, 11:05am UTC](https://discuss.elastic.co/t/elasticsearch-with-python/25977 "2015-07-21T11:05:43Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![Aditya\_Patel](https://avatars.discourse-cdn.com/v4/letter/a/3bc359/32.png) [@Aditya\_Patel](https://discuss.elastic.co/u/Aditya_Patel)\
**Post date:** [July 21, 2015, 11:05am UTC](https://discuss.elastic.co/t/elasticsearch-with-python/25977/1 "2015-07-21T11:05:44Z")

</div>

Hi,  
Currently i am trying to use python to input values in Elasticsearch. The library i am using is: [https://github.com/elastic/elasticsearch-py](https://github.com/elastic/elasticsearch-py)

I am facing issues in updating a field in an already existing id. Is there a different python lib , i should use or this is the standard one which everybody uses.  
Thanks

---

<div class="post-metadata">

**Author:** ![magnusbaeck](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/magnusbaeck/32/44943_2.png) [@magnusbaeck](https://discuss.elastic.co/u/magnusbaeck)\
**Post date:** [July 21, 2015, 11:33am UTC](https://discuss.elastic.co/t/elasticsearch-with-python/25977/2 "2015-07-21T11:33:56Z")

</div>

That's the official Python client so it should work just fine. If go into a bit more details about the problems you're having I'm sure someone can help out.

---

<div class="post-metadata">

**Author:** ![Aditya\_Patel](https://avatars.discourse-cdn.com/v4/letter/a/3bc359/32.png) [@Aditya\_Patel](https://discuss.elastic.co/u/Aditya_Patel)\
**Post date:** [July 21, 2015, 12:00pm UTC](https://discuss.elastic.co/t/elasticsearch-with-python/25977/3 "2015-07-21T12:00:01Z")

</div>

Hi,  
I am facing issues in updating few fields of already exisiting id's via python into elasticsearch

---

<div class="post-metadata">

**Author:** ![magnusbaeck](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/magnusbaeck/32/44943_2.png) [@magnusbaeck](https://discuss.elastic.co/u/magnusbaeck)\
**Post date:** [July 21, 2015, 1:28pm UTC](https://discuss.elastic.co/t/elasticsearch-with-python/25977/4 "2015-07-21T13:28:55Z")

</div>

Yes, you said that. But what, specifically, is the issue? What does your code look like? What results do you get? What did you expect to get?

---

<div class="post-metadata">

**Author:** ![Aditya\_Patel](https://avatars.discourse-cdn.com/v4/letter/a/3bc359/32.png) [@Aditya\_Patel](https://discuss.elastic.co/u/Aditya_Patel)\
**Post date:** [July 21, 2015, 1:44pm UTC](https://discuss.elastic.co/t/elasticsearch-with-python/25977/5 "2015-07-21T13:44:21Z")

</div>

Thanks for the reply.

Suppose following is my code:

from elasticsearch import Elasticsearch

es = Elasticsearch()

# WRITE TO ES Test application

doc = {  
'user': 'adityap\_test',  
'message': 'Testing testing222',  
'postDate': datetime(2013, 01, 06, 10, 25, 10)  
}  
res = es.index(index="index\_p", doc\_type='table\_p', id=1, body=doc)

This code would store my data in index -\> index\_p and doc-\>table\_p and id -\> 1

Now if i want to update my "Message" field by eg.: Testing testing333. I can use the same command and replace the id completely with new fields. But is there an update command as there is "index" command ?

---

<div class="post-metadata">

**Author:** ![magnusbaeck](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/magnusbaeck/32/44943_2.png) [@magnusbaeck](https://discuss.elastic.co/u/magnusbaeck)\
**Post date:** [July 21, 2015, 2:18pm UTC](https://discuss.elastic.co/t/elasticsearch-with-python/25977/6 "2015-07-21T14:18:39Z")

</div>

[As documented](http://elasticsearch-py.readthedocs.org/en/master/api.html#elasticsearch.Elasticsearch.index), index() can be used to create documents as well as update existing documents. You should set the `version` parameter to the version that the update is based on (i.e. the current version, as far as you know).

I don't believe it's possible to update individual fields of documents, so if you don't have the full document you should fetch it first, apply your changes, then post back.

---

<div class="post-metadata">

**Author:** ![Aditya\_Patel](https://avatars.discourse-cdn.com/v4/letter/a/3bc359/32.png) [@Aditya\_Patel](https://discuss.elastic.co/u/Aditya_Patel)\
**Post date:** [July 21, 2015, 3:42pm UTC](https://discuss.elastic.co/t/elasticsearch-with-python/25977/7 "2015-07-21T15:42:58Z")

</div>

Thanks!

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [July 6, 2017, 12:00am UTC](https://discuss.elastic.co/t/elasticsearch-with-python/25977/8 "2017-07-06T00:00:08Z")

</div>


