# Partial update vs re-index

**URL:** <https://discuss.elastic.co/t/partial-update-vs-re-index/217854>\
**Category:** Elasticsearch\
**Created:** [February 4, 2020, 5:22pm UTC](https://discuss.elastic.co/t/partial-update-vs-re-index/217854 "2020-02-04T17:22:13Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![kent120103](https://avatars.discourse-cdn.com/v4/letter/k/ac91a4/32.png) [@kent120103](https://discuss.elastic.co/u/kent120103)\
**Post date:** [February 4, 2020, 5:22pm UTC](https://discuss.elastic.co/t/partial-update-vs-re-index/217854/1 "2020-02-04T17:22:13Z")

</div>

Hi, Elastic team.

My index contains 5 - 10 millions documents. Every document has the same structure. Each document contains 10 fields, such as first\_name, last\_name, nick\_name, weight, height, preferred\_language, preferred\_currency, etc.

Averagely, 100 documents will be updated very day. For example, changing the "preferred\_language" from "en-GB" to "en-US" or changing the weight from "68.1 kg" to "67.5 kg".

I plan to use the **(PUT) /[index name]/\_doc/[doc id]** to (1) create a document or (2)partially updating an existing document. By the way, I will decide the "id" of each document and stop Elasticsearch auto-generation.

Is that a good choice to partially update an existing document?

Shall I switch to a different API endpoint to partial update, if my index contains much more documents or many documents need to be changed per day or documents contains much more than 10 fields?

Regards,  
Kent

---

<div class="post-metadata">

**Author:** ![spinscale](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/spinscale/32/25011_2.png) [@spinscale](https://discuss.elastic.co/u/spinscale)\
**Post date:** [February 5, 2020, 9:54am UTC](https://discuss.elastic.co/t/partial-update-vs-re-index/217854/2 "2020-02-05T09:54:56Z")

</div>

Check out the [Update API](https://www.elastic.co/guide/en/elasticsearch/reference/7.5/docs-update.html)... if you can recreate the whole document on the client side then storing the document again makes sense as well. Pick what suits your use-case best.

---

<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:** [March 4, 2020, 6:05pm UTC](https://discuss.elastic.co/t/partial-update-vs-re-index/217854/4 "2020-03-04T18:05:06Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
