# New es plugin : partial update

**URL:** <https://discuss.elastic.co/t/new-es-plugin-partial-update/5398>\
**Category:** Elasticsearch\
**Created:** [September 17, 2011, 4:29am UTC](https://discuss.elastic.co/t/new-es-plugin-partial-update/5398 "2011-09-17T04:29:59Z")\
**Posts on this page:** 17\
**Page:** 1

<div class="post-metadata">

**Author:** ![medcl\_net](https://avatars.discourse-cdn.com/v4/letter/m/90ced4/32.png) [@medcl\_net](https://discuss.elastic.co/u/medcl_net)\
**Post date:** [September 17, 2011, 4:29am UTC](https://discuss.elastic.co/t/new-es-plugin-partial-update/5398/1 "2011-09-17T04:29:59Z")

</div>

hey,guys

I just pushed a elasticsearch plugin to github,[https://github.com/medcl/ElasticSearch.PartialUpdate](https://github.com/medcl/ElasticSearch.PartialUpdate)  
the plugin that allows you to update a specify fileds of a document,avoid full reindex and reduce some traffic costs,

here is a quick intro:  
how to play with this plguin?  
a.. first,let’s index a doucument  
curl -XDELETE [http://localhost:9200/index/type1/1/](http://localhost:9200/index/type1/1/)  
curl -XPOST [http://localhost:9200/index/type1/1/](http://localhost:9200/index/type1/1/) -d'{"name":"medcl","blog":"[http://log.medcl.net](http://log.medcl.net)"}'

{"ok":true,"\_index":"index","\_type":"type1","\_id":"1","\_version":1}  
a.. now let’s get it  
curl -XGET [http://localhost:9200/index/type1/1/](http://localhost:9200/index/type1/1/)

{"\_index":"index","\_type":"type1","\_id":"1","\_version":1, "\_source" : {"name":"medcl","blog":"[http://log.medcl.net](http://log.medcl.net)"}}  
a.. ok,let’s update it,update a filed(name),and add a new filed(time)  
curl -XPOST [http://localhost:9200/index/type1/1/\_update](http://localhost:9200/index/type1/1/_update) -d'{"name":"medcl?","time":"2011-1-1"}'

{"ok":true,"\_index":"index","\_type":"type1","\_id":"1","\_version":2}  
a.. let’s get the document again,and you can see,the document is already changed.  
curl -XGET [http://localhost:9200/index/type1/1/](http://localhost:9200/index/type1/1/)

{"\_index":"index","\_type":"type1","\_id":"1","\_version":2, "\_source" : {"time":"2011-1-1","name":"medcl?","blog":"[http://log.medcl.net](http://log.medcl.net)"}}

* * *

[mail:m@medcl.net](mailto:mail:m@medcl.net)  
blog:log.medcl.net

---

<div class="post-metadata">

**Author:** ![srrin](https://avatars.discourse-cdn.com/v4/letter/s/85f322/32.png) [@srrin](https://discuss.elastic.co/u/srrin)\
**Post date:** [September 17, 2011, 5:16am UTC](https://discuss.elastic.co/t/new-es-plugin-partial-update/5398/2 "2011-09-17T05:16:40Z")

</div>

Hi guys,  
I am using ES version 17.6.  
When I tried the command

\*curl -XPOST [http://localhost:9200/index/type1/1/\_update-d'{"name":"medcl?","time":"2011-1-1"}'](http://localhost:9200/index/type1/1/_update-d'%7B%22name%22:%22medcl?%22,%22time%22:%222011-1-1%22%7D')  
\*

I am getting the message as

\*No handler found for uri [/index/type1/1/\_update] and method [POST]. \*  
\*  
\*  
Do I doing anything wrong.  
Please help me to understand.

Thank  
Ranga.

2011/9/17 [medcl2000@gmail.com](mailto:medcl2000@gmail.com)

> hey,guys
> 
> I just pushed a elasticsearch plugin to github,  
> [https://github.com/medcl/ElasticSearch.PartialUpdate](https://github.com/medcl/ElasticSearch.PartialUpdate)  
> the plugin that allows you to update a specify fileds of a document,avoid  
> full reindex and reduce some traffic costs,
> 
> here is a quick intro:  
> how to play with this plguin?
> 
> - first,let’s index a doucument
> 
> curl -XDELETE [http://localhost:9200/index/type1/1/](http://localhost:9200/index/type1/1/)  
> curl -XPOST [http://localhost:9200/index/type1/1/](http://localhost:9200/index/type1/1/) -d'{"name":"medcl","blog":"[http://log.medcl.net](http://log.medcl.net)"}'
> 
> {"ok":true,"\_index":"index","\_type":"type1","\_id":"1","\_version":1}
> 
> - now let’s get it
> 
> curl -XGET [http://localhost:9200/index/type1/1/](http://localhost:9200/index/type1/1/)
> 
> {"\_index":"index","\_type":"type1","\_id":"1","\_version":1, "\_source" : {"name":"medcl","blog":"[http://log.medcl.net](http://log.medcl.net)"}}
> 
> - ok,let’s update it,update a filed(name),and add a new filed(time)
> 
> curl -XPOST [http://localhost:9200/index/type1/1/\_update](http://localhost:9200/index/type1/1/_update) -d'{"name":"medcl?","time":"2011-1-1"}'
> 
> {"ok":true,"\_index":"index","\_type":"type1","\_id":"1","\_version":2}
> 
> - let’s get the document again,and you can see,the document is already  
> changed.
> 
> curl -XGET [http://localhost:9200/index/type1/1/](http://localhost:9200/index/type1/1/)
> 
> {"\_index":"index","\_type":"type1","\_id":"1","\_version":2, "\_source" : {"time":"2011-1-1","name":"medcl?","blog":"[http://log.medcl.net](http://log.medcl.net)"}}
> 
> * * *
> 
> [mail:m@medcl.net](mailto:mail:m@medcl.net)  
> blog:log.medcl.net

--  
with regards  
Ranga.....

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [September 17, 2011, 6:14am UTC](https://discuss.elastic.co/t/new-es-plugin-partial-update/5398/3 "2011-09-17T06:14:38Z")

</div>

Did you install the plugin and restart ES ?

David 😉

Le 17 sept. 2011 à 07:16, "Ranganathan R." [srrranga@gmail.com](mailto:srrranga@gmail.com) a écrit :

> Hi guys,  
> I am using ES version 17.6.  
> When I tried the command
> 
> curl -XPOST [http://localhost:9200/index/type1/1/\_update](http://localhost:9200/index/type1/1/_update) -d'{"name":"medcl?","time":"2011-1-1"}'
> 
> I am getting the message as
> 
> No handler found for uri [/index/type1/1/\_update] and method [POST].
> 
> Do I doing anything wrong.  
> Please help me to understand.
> 
> Thank  
> Ranga.
> 
> 2011/9/17 [medcl2000@gmail.com](mailto:medcl2000@gmail.com)  
> hey,guys
> 
> I just pushed a elasticsearch plugin to github,[https://github.com/medcl/ElasticSearch.PartialUpdate](https://github.com/medcl/ElasticSearch.PartialUpdate)  
> the plugin that allows you to update a specify fileds of a document,avoid full reindex and reduce some traffic costs,
> 
> here is a quick intro:  
> how to play with this plguin?
> 
> first,let’s index a doucument  
> curl -XDELETE [http://localhost:9200/index/type1/1/](http://localhost:9200/index/type1/1/)  
> curl -XPOST [http://localhost:9200/index/type1/1/](http://localhost:9200/index/type1/1/) -d'{"name":"medcl","blog":"[http://log.medcl.net](http://log.medcl.net)"}'
> 
> {"ok":true,"\_index":"index","\_type":"type1","\_id":"1","\_version":1}  
> now let’s get it  
> curl -XGET [http://localhost:9200/index/type1/1/](http://localhost:9200/index/type1/1/)
> 
> {"\_index":"index","\_type":"type1","\_id":"1","\_version":1, "\_source" : {"name":"medcl","blog":"[http://log.medcl.net](http://log.medcl.net)"}}  
> ok,let’s update it,update a filed(name),and add a new filed(time)  
> curl -XPOST [http://localhost:9200/index/type1/1/\_update](http://localhost:9200/index/type1/1/_update) -d'{"name":"medcl?","time":"2011-1-1"}'
> 
> {"ok":true,"\_index":"index","\_type":"type1","\_id":"1","\_version":2}  
> let’s get the document again,and you can see,the document is already changed.  
> curl -XGET [http://localhost:9200/index/type1/1/](http://localhost:9200/index/type1/1/)
> 
> {"\_index":"index","\_type":"type1","\_id":"1","\_version":2, "\_source" : {"time":"2011-1-1","name":"medcl?","blog":"[http://log.medcl.net](http://log.medcl.net)"}}
> 
> * * *
> 
> [mail:m@medcl.net](mailto:mail:m@medcl.net)  
> blog:log.medcl.net
> 
> --  
> with regards  
> Ranga.....

---

<div class="post-metadata">

**Author:** ![srrin](https://avatars.discourse-cdn.com/v4/letter/s/85f322/32.png) [@srrin](https://discuss.elastic.co/u/srrin)\
**Post date:** [September 17, 2011, 6:15am UTC](https://discuss.elastic.co/t/new-es-plugin-partial-update/5398/4 "2011-09-17T06:15:56Z")

</div>

Hi David,  
Thanks for the reply.  
I have installed the plug in but not restarted the ES. Will restart now.

On Sat, Sep 17, 2011 at 11:44 AM, David Pilato [david@pilato.fr](mailto:david@pilato.fr) wrote:

> Did you install the plugin and restart ES ?
> 
> David 😉
> 
> Le 17 sept. 2011 à 07:16, "Ranganathan R." [srrranga@gmail.com](mailto:srrranga@gmail.com) a écrit :
> 
> Hi guys,  
> I am using ES version 17.6.  
> When I tried the command
> 
> \*curl -XPOST [http://localhost:9200/index/type1/1/\_update](http://localhost:9200/index/type1/1/_update)  
> [http://localhost:9200/index/type1/1/\_update-d'{"name":"medcl?","time":"2011-1-1"}'](http://localhost:9200/index/type1/1/_update-d'%7B%22name%22:%22medcl?%22,%22time%22:%222011-1-1%22%7D')  
> \*
> 
> I am getting the message as
> 
> \*No handler found for uri [/index/type1/1/\_update] and method [POST]. \*  
> \*  
> \*  
> Do I doing anything wrong.  
> Please help me to understand.
> 
> Thank  
> Ranga.
> 
> 2011/9/17 \< [medcl2000@gmail.com](mailto:medcl2000@gmail.com)[medcl2000@gmail.com](mailto:medcl2000@gmail.com)\>
> 
> > hey,guys
> > 
> > I just pushed a elasticsearch plugin to github,  
> > [https://github.com/medcl/ElasticSearch.PartialUpdate](https://github.com/medcl/ElasticSearch.PartialUpdate)  
> > the plugin that allows you to update a specify fileds of a document,avoid  
> > full reindex and reduce some traffic costs,
> > 
> > here is a quick intro:  
> > how to play with this plguin?
> > 
> > - first,let’s index a doucument
> > 
> > curl -XDELETE [http://localhost:9200/index/type1/1/](http://localhost:9200/index/type1/1/)[http://localhost:9200/index/type1/1/](http://localhost:9200/index/type1/1/)  
> > curl -XPOST [http://localhost:9200/index/type1/1/](http://localhost:9200/index/type1/1/)[http://localhost:9200/index/type1/1/](http://localhost:9200/index/type1/1/) -d'{"name":"medcl","blog":" [http://log.medcl.net](http://log.medcl.net)[http://log.medcl.net](http://log.medcl.net)"}'
> > 
> > {"ok":true,"\_index":"index","\_type":"type1","\_id":"1","\_version":1}
> > 
> > - now let’s get it
> > 
> > curl -XGET [http://localhost:9200/index/type1/1/](http://localhost:9200/index/type1/1/)[http://localhost:9200/index/type1/1/](http://localhost:9200/index/type1/1/)
> > 
> > {"\_index":"index","\_type":"type1","\_id":"1","\_version":1, "\_source" : {"name":"medcl","blog":" [http://log.medcl.net](http://log.medcl.net)[http://log.medcl.net](http://log.medcl.net)"}}
> > 
> > - ok,let’s update it,update a filed(name),and add a new filed(time)
> > 
> > curl -XPOST [http://localhost:9200/index/type1/1/\_update](http://localhost:9200/index/type1/1/_update)[http://localhost:9200/index/type1/1/\_update](http://localhost:9200/index/type1/1/_update) -d'{"name":"medcl?","time":"2011-1-1"}'
> > 
> > {"ok":true,"\_index":"index","\_type":"type1","\_id":"1","\_version":2}
> > 
> > - let’s get the document again,and you can see,the document is already  
> > changed.
> > 
> > curl -XGET [http://localhost:9200/index/type1/1/](http://localhost:9200/index/type1/1/)[http://localhost:9200/index/type1/1/](http://localhost:9200/index/type1/1/)
> > 
> > {"\_index":"index","\_type":"type1","\_id":"1","\_version":2, "\_source" : {"time":"2011-1-1","name":"medcl?","blog":" [http://log.medcl.net](http://log.medcl.net)[http://log.medcl.net](http://log.medcl.net)"}}
> > 
> > * * *
> > 
> > mail: [m@medcl.net](mailto:m@medcl.net)[m@medcl.net](mailto:m@medcl.net)  
> > blog: [http://log.medcl.net](http://log.medcl.net)[log.medcl.net](http://log.medcl.net)
> 
> --  
> with regards  
> Ranga.....

--  
with regards  
Ranga.....

---

<div class="post-metadata">

**Author:** ![srrin](https://avatars.discourse-cdn.com/v4/letter/s/85f322/32.png) [@srrin](https://discuss.elastic.co/u/srrin)\
**Post date:** [September 17, 2011, 6:38am UTC](https://discuss.elastic.co/t/new-es-plugin-partial-update/5398/5 "2011-09-17T06:38:24Z")

</div>

Hi All,  
I tried restarting the ES, but still getting the same error.

On Sat, Sep 17, 2011 at 11:45 AM, Ranganathan R. [srrranga@gmail.com](mailto:srrranga@gmail.com) wrote:

> Hi David,  
> Thanks for the reply.  
> I have installed the plug in but not restarted the ES. Will restart now.
> 
> On Sat, Sep 17, 2011 at 11:44 AM, David Pilato [david@pilato.fr](mailto:david@pilato.fr) wrote:
> 
> > Did you install the plugin and restart ES ?
> > 
> > David 😉
> > 
> > Le 17 sept. 2011 à 07:16, "Ranganathan R." [srrranga@gmail.com](mailto:srrranga@gmail.com) a écrit :
> > 
> > Hi guys,  
> > I am using ES version 17.6.  
> > When I tried the command
> > 
> > \*curl -XPOST [http://localhost:9200/index/type1/1/\_update](http://localhost:9200/index/type1/1/_update)  
> > [http://localhost:9200/index/type1/1/\_update-d'{"name":"medcl?","time":"2011-1-1"}'](http://localhost:9200/index/type1/1/_update-d'%7B%22name%22:%22medcl?%22,%22time%22:%222011-1-1%22%7D')  
> > \*
> > 
> > I am getting the message as
> > 
> > \*No handler found for uri [/index/type1/1/\_update] and method [POST]. \*  
> > \*  
> > \*  
> > Do I doing anything wrong.  
> > Please help me to understand.
> > 
> > Thank  
> > Ranga.
> > 
> > 2011/9/17 \< [medcl2000@gmail.com](mailto:medcl2000@gmail.com)[medcl2000@gmail.com](mailto:medcl2000@gmail.com)\>
> > 
> > > hey,guys
> > > 
> > > I just pushed a elasticsearch plugin to github,  
> > > [https://github.com/medcl/ElasticSearch.PartialUpdate](https://github.com/medcl/ElasticSearch.PartialUpdate)  
> > > the plugin that allows you to update a specify fileds of a document,avoid  
> > > full reindex and reduce some traffic costs,
> > > 
> > > here is a quick intro:  
> > > how to play with this plguin?
> > > 
> > > - first,let’s index a doucument
> > > 
> > > curl -XDELETE [http://localhost:9200/index/type1/1/](http://localhost:9200/index/type1/1/)[http://localhost:9200/index/type1/1/](http://localhost:9200/index/type1/1/)  
> > > curl -XPOST [http://localhost:9200/index/type1/1/](http://localhost:9200/index/type1/1/)[http://localhost:9200/index/type1/1/](http://localhost:9200/index/type1/1/) -d'{"name":"medcl","blog":" [http://log.medcl.net](http://log.medcl.net)[http://log.medcl.net](http://log.medcl.net)"}'
> > > 
> > > {"ok":true,"\_index":"index","\_type":"type1","\_id":"1","\_version":1}
> > > 
> > > - now let’s get it
> > > 
> > > curl -XGET [http://localhost:9200/index/type1/1/](http://localhost:9200/index/type1/1/)[http://localhost:9200/index/type1/1/](http://localhost:9200/index/type1/1/)
> > > 
> > > {"\_index":"index","\_type":"type1","\_id":"1","\_version":1, "\_source" : {"name":"medcl","blog":" [http://log.medcl.net](http://log.medcl.net)[http://log.medcl.net](http://log.medcl.net)"}}
> > > 
> > > - ok,let’s update it,update a filed(name),and add a new filed(time)
> > > 
> > > curl -XPOST [http://localhost:9200/index/type1/1/\_update](http://localhost:9200/index/type1/1/_update)[http://localhost:9200/index/type1/1/\_update](http://localhost:9200/index/type1/1/_update) -d'{"name":"medcl?","time":"2011-1-1"}'
> > > 
> > > {"ok":true,"\_index":"index","\_type":"type1","\_id":"1","\_version":2}
> > > 
> > > - let’s get the document again,and you can see,the document is  
> > > already changed.
> > > 
> > > curl -XGET [http://localhost:9200/index/type1/1/](http://localhost:9200/index/type1/1/)[http://localhost:9200/index/type1/1/](http://localhost:9200/index/type1/1/)
> > > 
> > > {"\_index":"index","\_type":"type1","\_id":"1","\_version":2, "\_source" : {"time":"2011-1-1","name":"medcl?","blog":" [http://log.medcl.net](http://log.medcl.net)[http://log.medcl.net](http://log.medcl.net)"}}
> > > 
> > > * * *
> > > 
> > > mail: [m@medcl.net](mailto:m@medcl.net)[m@medcl.net](mailto:m@medcl.net)  
> > > blog: [http://log.medcl.net](http://log.medcl.net)[log.medcl.net](http://log.medcl.net)
> > 
> > --  
> > with regards  
> > Ranga.....
> 
> --  
> with regards  
> Ranga.....

--  
with regards  
Ranga.....

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [September 17, 2011, 7:25am UTC](https://discuss.elastic.co/t/new-es-plugin-partial-update/5398/6 "2011-09-17T07:25:08Z")

</div>

Can you see the plugin in your plugins directory ?  
I'm wondering if you could have trouble downloading it, because the repo name have uppercase chars and plugin in the download section of github is in lowercase.

David 😉

Le 17 sept. 2011 à 08:38, "Ranganathan R." [srrranga@gmail.com](mailto:srrranga@gmail.com) a écrit :

> Hi All,  
> I tried restarting the ES, but still getting the same error.
> 
> On Sat, Sep 17, 2011 at 11:45 AM, Ranganathan R. [srrranga@gmail.com](mailto:srrranga@gmail.com) wrote:  
> Hi David,  
> Thanks for the reply.  
> I have installed the plug in but not restarted the ES. Will restart now.
> 
> On Sat, Sep 17, 2011 at 11:44 AM, David Pilato [david@pilato.fr](mailto:david@pilato.fr) wrote:  
> Did you install the plugin and restart ES ?
> 
> David 😉
> 
> Le 17 sept. 2011 à 07:16, "Ranganathan R." [srrranga@gmail.com](mailto:srrranga@gmail.com) a écrit :
> 
> > Hi guys,  
> > I am using ES version 17.6.  
> > When I tried the command
> > 
> > curl -XPOST [http://localhost:9200/index/type1/1/\_update](http://localhost:9200/index/type1/1/_update) -d'{"name":"medcl?","time":"2011-1-1"}'
> > 
> > I am getting the message as
> > 
> > No handler found for uri [/index/type1/1/\_update] and method [POST].
> > 
> > Do I doing anything wrong.  
> > Please help me to understand.
> > 
> > Thank  
> > Ranga.
> > 
> > 2011/9/17 [medcl2000@gmail.com](mailto:medcl2000@gmail.com)  
> > hey,guys
> > 
> > I just pushed a elasticsearch plugin to github,[https://github.com/medcl/ElasticSearch.PartialUpdate](https://github.com/medcl/ElasticSearch.PartialUpdate)  
> > the plugin that allows you to update a specify fileds of a document,avoid full reindex and reduce some traffic costs,
> > 
> > here is a quick intro:  
> > how to play with this plguin?
> > 
> > first,let’s index a doucument  
> > curl -XDELETE [http://localhost:9200/index/type1/1/](http://localhost:9200/index/type1/1/)  
> > curl -XPOST [http://localhost:9200/index/type1/1/](http://localhost:9200/index/type1/1/) -d'{"name":"medcl","blog":"[http://log.medcl.net](http://log.medcl.net)"}'
> > 
> > {"ok":true,"\_index":"index","\_type":"type1","\_id":"1","\_version":1}  
> > now let’s get it  
> > curl -XGET [http://localhost:9200/index/type1/1/](http://localhost:9200/index/type1/1/)
> > 
> > {"\_index":"index","\_type":"type1","\_id":"1","\_version":1, "\_source" : {"name":"medcl","blog":"[http://log.medcl.net](http://log.medcl.net)"}}  
> > ok,let’s update it,update a filed(name),and add a new filed(time)  
> > curl -XPOST [http://localhost:9200/index/type1/1/\_update](http://localhost:9200/index/type1/1/_update) -d'{"name":"medcl?","time":"2011-1-1"}'
> > 
> > {"ok":true,"\_index":"index","\_type":"type1","\_id":"1","\_version":2}  
> > let’s get the document again,and you can see,the document is already changed.  
> > curl -XGET [http://localhost:9200/index/type1/1/](http://localhost:9200/index/type1/1/)
> > 
> > {"\_index":"index","\_type":"type1","\_id":"1","\_version":2, "\_source" : {"time":"2011-1-1","name":"medcl?","blog":"[http://log.medcl.net](http://log.medcl.net)"}}
> > 
> > * * *
> > 
> > [mail:m@medcl.net](mailto:mail:m@medcl.net)  
> > blog:log.medcl.net
> > 
> > --  
> > with regards  
> > Ranga.....
> 
> --  
> with regards  
> Ranga.....
> 
> --  
> with regards  
> Ranga.....

---

<div class="post-metadata">

**Author:** ![vineeth\_mohan](https://avatars.discourse-cdn.com/v4/letter/v/bc79bd/32.png) [@vineeth\_mohan](https://discuss.elastic.co/u/vineeth_mohan)\
**Post date:** [September 17, 2011, 8:09am UTC](https://discuss.elastic.co/t/new-es-plugin-partial-update/5398/7 "2011-09-17T08:09:48Z")

</div>

Cool , this is a feature enhancement many of us were waiting.

Thanks  
Vineeth

2011/9/17 [medcl2000@gmail.com](mailto:medcl2000@gmail.com)

> hey,guys
> 
> I just pushed a elasticsearch plugin to github,  
> [https://github.com/medcl/ElasticSearch.PartialUpdate](https://github.com/medcl/ElasticSearch.PartialUpdate)  
> the plugin that allows you to update a specify fileds of a document,avoid  
> full reindex and reduce some traffic costs,
> 
> here is a quick intro:  
> how to play with this plguin?
> 
> - first,let’s index a doucument
> 
> curl -XDELETE [http://localhost:9200/index/type1/1/](http://localhost:9200/index/type1/1/)  
> curl -XPOST [http://localhost:9200/index/type1/1/](http://localhost:9200/index/type1/1/) -d'{"name":"medcl","blog":"[http://log.medcl.net](http://log.medcl.net)"}'
> 
> {"ok":true,"\_index":"index","\_type":"type1","\_id":"1","\_version":1}
> 
> - now let’s get it
> 
> curl -XGET [http://localhost:9200/index/type1/1/](http://localhost:9200/index/type1/1/)
> 
> {"\_index":"index","\_type":"type1","\_id":"1","\_version":1, "\_source" : {"name":"medcl","blog":"[http://log.medcl.net](http://log.medcl.net)"}}
> 
> - ok,let’s update it,update a filed(name),and add a new filed(time)
> 
> curl -XPOST [http://localhost:9200/index/type1/1/\_update](http://localhost:9200/index/type1/1/_update) -d'{"name":"medcl?","time":"2011-1-1"}'
> 
> {"ok":true,"\_index":"index","\_type":"type1","\_id":"1","\_version":2}
> 
> - let’s get the document again,and you can see,the document is already  
> changed.
> 
> curl -XGET [http://localhost:9200/index/type1/1/](http://localhost:9200/index/type1/1/)
> 
> {"\_index":"index","\_type":"type1","\_id":"1","\_version":2, "\_source" : {"time":"2011-1-1","name":"medcl?","blog":"[http://log.medcl.net](http://log.medcl.net)"}}
> 
> * * *
> 
> [mail:m@medcl.net](mailto:mail:m@medcl.net)  
> blog:log.medcl.net

---

<div class="post-metadata">

**Author:** ![kimchy](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/kimchy/32/44952_2.png) [@kimchy](https://discuss.elastic.co/u/kimchy)\
**Post date:** [September 17, 2011, 9:29am UTC](https://discuss.elastic.co/t/new-es-plugin-partial-update/5398/8 "2011-09-17T09:29:53Z")

</div>

Hey,

Note, though a great initiative, the partial update here basically does  
"get and reindex". The document will get reindexed.

-shay.banon

On Sat, Sep 17, 2011 at 11:09 AM, Vineeth Mohan  
[vineethmohan@algotree.com](mailto:vineethmohan@algotree.com)wrote:

> Cool , this is a feature enhancement many of us were waiting.
> 
> Thanks  
> Vineeth
> 
> 2011/9/17 [medcl2000@gmail.com](mailto:medcl2000@gmail.com)
> 
> > hey,guys
> > 
> > I just pushed a elasticsearch plugin to github,  
> > [https://github.com/medcl/ElasticSearch.PartialUpdate](https://github.com/medcl/ElasticSearch.PartialUpdate)  
> > the plugin that allows you to update a specify fileds of a document,avoid  
> > full reindex and reduce some traffic costs,
> > 
> > here is a quick intro:  
> > how to play with this plguin?
> > 
> > - first,let’s index a doucument
> > 
> > curl -XDELETE [http://localhost:9200/index/type1/1/](http://localhost:9200/index/type1/1/)  
> > curl -XPOST [http://localhost:9200/index/type1/1/](http://localhost:9200/index/type1/1/) -d'{"name":"medcl","blog":"[http://log.medcl.net](http://log.medcl.net)"}'
> > 
> > {"ok":true,"\_index":"index","\_type":"type1","\_id":"1","\_version":1}
> > 
> > - now let’s get it
> > 
> > curl -XGET [http://localhost:9200/index/type1/1/](http://localhost:9200/index/type1/1/)
> > 
> > {"\_index":"index","\_type":"type1","\_id":"1","\_version":1, "\_source" : {"name":"medcl","blog":"[http://log.medcl.net](http://log.medcl.net)"}}
> > 
> > - ok,let’s update it,update a filed(name),and add a new filed(time)
> > 
> > curl -XPOST [http://localhost:9200/index/type1/1/\_update](http://localhost:9200/index/type1/1/_update) -d'{"name":"medcl?","time":"2011-1-1"}'
> > 
> > {"ok":true,"\_index":"index","\_type":"type1","\_id":"1","\_version":2}
> > 
> > - let’s get the document again,and you can see,the document is already  
> > changed.
> > 
> > curl -XGET [http://localhost:9200/index/type1/1/](http://localhost:9200/index/type1/1/)
> > 
> > {"\_index":"index","\_type":"type1","\_id":"1","\_version":2, "\_source" : {"time":"2011-1-1","name":"medcl?","blog":"[http://log.medcl.net](http://log.medcl.net)"}}
> > 
> > * * *
> > 
> > [mail:m@medcl.net](mailto:mail:m@medcl.net)  
> > blog:log.medcl.net

---

<div class="post-metadata">

**Author:** ![srrin](https://avatars.discourse-cdn.com/v4/letter/s/85f322/32.png) [@srrin](https://discuss.elastic.co/u/srrin)\
**Post date:** [September 17, 2011, 11:24am UTC](https://discuss.elastic.co/t/new-es-plugin-partial-update/5398/9 "2011-09-17T11:24:53Z")

</div>

Hi,  
I can see the plugin in plugins directory.  
I did not had any trouble in downloading and installing the plugin...

On Sat, Sep 17, 2011 at 12:55 PM, David Pilato [david@pilato.fr](mailto:david@pilato.fr) wrote:

> Can you see the plugin in your plugins directory ?  
> I'm wondering if you could have trouble downloading it, because the repo  
> name have uppercase chars and plugin in the download section of github is in  
> lowercase.
> 
> David 😉
> 
> Le 17 sept. 2011 à 08:38, "Ranganathan R." [srrranga@gmail.com](mailto:srrranga@gmail.com) a écrit :
> 
> Hi All,  
> I tried restarting the ES, but still getting the same error.
> 
> On Sat, Sep 17, 2011 at 11:45 AM, Ranganathan R. \< [srrranga@gmail.com](mailto:srrranga@gmail.com)  
> [srrranga@gmail.com](mailto:srrranga@gmail.com)\> wrote:
> 
> > Hi David,  
> > Thanks for the reply.  
> > I have installed the plug in but not restarted the ES. Will restart now.
> > 
> > On Sat, Sep 17, 2011 at 11:44 AM, David Pilato \< [david@pilato.fr](mailto:david@pilato.fr)  
> > [david@pilato.fr](mailto:david@pilato.fr)\> wrote:
> > 
> > > Did you install the plugin and restart ES ?
> > > 
> > > David 😉
> > > 
> > > Le 17 sept. 2011 à 07:16, "Ranganathan R." \< [srrranga@gmail.com](mailto:srrranga@gmail.com)  
> > > [srrranga@gmail.com](mailto:srrranga@gmail.com)\> a écrit :
> > > 
> > > Hi guys,  
> > > I am using ES version 17.6.  
> > > When I tried the command
> > > 
> > > \*curl -XPOST [http://localhost:9200/index/type1/1/\_update](http://localhost:9200/index/type1/1/_update)[http://localhost:9200/index/type1/1/\_update](http://localhost:9200/index/type1/1/_update)  
> > > [http://localhost:9200/index/type1/1/\_update-d'{"name":"medcl?","time":"2011-1-1"}'](http://localhost:9200/index/type1/1/_update-d'%7B%22name%22:%22medcl?%22,%22time%22:%222011-1-1%22%7D')  
> > > \*
> > > 
> > > I am getting the message as
> > > 
> > > \*No handler found for uri [/index/type1/1/\_update] and method [POST]. \*  
> > > \*  
> > > \*  
> > > Do I doing anything wrong.  
> > > Please help me to understand.
> > > 
> > > Thank  
> > > Ranga.
> > > 
> > > 2011/9/17 \< [medcl2000@gmail.com](mailto:medcl2000@gmail.com) [medcl2000@gmail.com](mailto:medcl2000@gmail.com)  
> > > [medcl2000@gmail.com](mailto:medcl2000@gmail.com)\>
> > > 
> > > > hey,guys
> > > > 
> > > > I just pushed a elasticsearch plugin to github,  
> > > > [https://github.com/medcl/ElasticSearch.PartialUpdate](https://github.com/medcl/ElasticSearch.PartialUpdate)  
> > > > the plugin that allows you to update a specify fileds of a  
> > > > document,avoid full reindex and reduce some traffic costs,
> > > > 
> > > > here is a quick intro:  
> > > > how to play with this plguin?
> > > > 
> > > > - first,let’s index a doucument
> > > > 
> > > > curl -XDELETE [http://localhost:9200/index/type1/1/](http://localhost:9200/index/type1/1/) [http://localhost:9200/index/type1/1/](http://localhost:9200/index/type1/1/)[http://localhost:9200/index/type1/1/](http://localhost:9200/index/type1/1/)  
> > > > curl -XPOST [http://localhost:9200/index/type1/1/](http://localhost:9200/index/type1/1/) [http://localhost:9200/index/type1/1/](http://localhost:9200/index/type1/1/)[http://localhost:9200/index/type1/1/](http://localhost:9200/index/type1/1/) -d'{"name":"medcl","blog":" [http://log.medcl.net](http://log.medcl.net) [http://log.medcl.net](http://log.medcl.net)[http://log.medcl.net](http://log.medcl.net)"}'
> > > > 
> > > > {"ok":true,"\_index":"index","\_type":"type1","\_id":"1","\_version":1}
> > > > 
> > > > - now let’s get it
> > > > 
> > > > curl -XGET [http://localhost:9200/index/type1/1/](http://localhost:9200/index/type1/1/) [http://localhost:9200/index/type1/1/](http://localhost:9200/index/type1/1/)[http://localhost:9200/index/type1/1/](http://localhost:9200/index/type1/1/)
> > > > 
> > > > {"\_index":"index","\_type":"type1","\_id":"1","\_version":1, "\_source" : {"name":"medcl","blog":" [http://log.medcl.net](http://log.medcl.net) [http://log.medcl.net](http://log.medcl.net)[http://log.medcl.net](http://log.medcl.net)"}}
> > > > 
> > > > - ok,let’s update it,update a filed(name),and add a new filed(time)
> > > > 
> > > > curl -XPOST [http://localhost:9200/index/type1/1/\_update](http://localhost:9200/index/type1/1/_update) [http://localhost:9200/index/type1/1/\_update](http://localhost:9200/index/type1/1/_update)[http://localhost:9200/index/type1/1/\_update](http://localhost:9200/index/type1/1/_update) -d'{"name":"medcl?","time":"2011-1-1"}'
> > > > 
> > > > {"ok":true,"\_index":"index","\_type":"type1","\_id":"1","\_version":2}
> > > > 
> > > > - let’s get the document again,and you can see,the document is  
> > > > already changed.
> > > > 
> > > > curl -XGET [http://localhost:9200/index/type1/1/](http://localhost:9200/index/type1/1/) [http://localhost:9200/index/type1/1/](http://localhost:9200/index/type1/1/)[http://localhost:9200/index/type1/1/](http://localhost:9200/index/type1/1/)
> > > > 
> > > > {"\_index":"index","\_type":"type1","\_id":"1","\_version":2, "\_source" : {"time":"2011-1-1","name":"medcl?","blog":" [http://log.medcl.net](http://log.medcl.net) [http://log.medcl.net](http://log.medcl.net)[http://log.medcl.net](http://log.medcl.net)"}}
> > > > 
> > > > * * *
> > > > 
> > > > mail: [m@medcl.net](mailto:m@medcl.net) [m@medcl.net](mailto:m@medcl.net)[m@medcl.net](mailto:m@medcl.net)  
> > > > blog: [http://log.medcl.net](http://log.medcl.net) [http://log.medcl.net](http://log.medcl.net)[log.medcl.net](http://log.medcl.net)
> > > 
> > > --  
> > > with regards  
> > > Ranga.....
> > 
> > --  
> > with regards  
> > Ranga.....
> 
> --  
> with regards  
> Ranga.....

--  
with regards  
Ranga.....

---

<div class="post-metadata">

**Author:** ![medcl\_net](https://avatars.discourse-cdn.com/v4/letter/m/90ced4/32.png) [@medcl\_net](https://discuss.elastic.co/u/medcl_net)\
**Post date:** [September 18, 2011, 3:26am UTC](https://discuss.elastic.co/t/new-es-plugin-partial-update/5398/10 "2011-09-18T03:26:30Z")

</div>

hi,kimchy,  
yes,that’s right,this plugin is just simply send the field changes to the es,and do a reindex operation remotely,  
and it depends on that you have source enabled,and your document is not nested object.

to Ranga,  
why not just download the jar,and put it to the plugin folder(make a sub-folder(like es-partial-update)),and then restart the es.  
you can get it from elasticsearch-partialupdate-0.17.6.zip

--medcl

From: Shay Banon  
Sent: Saturday, September 17, 2011 5:29 PM  
To: [elasticsearch@googlegroups.com](mailto:elasticsearch@googlegroups.com)  
Subject: Re: new es plugin : partial update

Hey,

Note, though a great initiative, the partial update here basically does "get and reindex". The document will get reindexed.

-shay.banon

On Sat, Sep 17, 2011 at 11:09 AM, Vineeth Mohan [vineethmohan@algotree.com](mailto:vineethmohan@algotree.com) wrote:

Cool , this is a feature enhancement many of us were waiting.

Thanks  
Vineeth

2011/9/17 [medcl2000@gmail.com](mailto:medcl2000@gmail.com)

```
hey,guys

I just pushed a elasticsearch plugin to github,https://github.com/medcl/ElasticSearch.PartialUpdate 
the plugin that allows you to update a specify fileds of a document,avoid full reindex and reduce some traffic costs,

here is a quick intro:
how to play with this plguin?
  a.. first,let’s index a doucument

```

curl -XDELETE [http://localhost:9200/index/type1/1/](http://localhost:9200/index/type1/1/)  
curl -XPOST [http://localhost:9200/index/type1/1/](http://localhost:9200/index/type1/1/) -d'{"name":"medcl","blog":"[http://log.medcl.net](http://log.medcl.net)"}'

{"ok":true,"\_index":"index","\_type":"type1","\_id":"1","\_version":1}  
a.. now let’s get it  
curl -XGET [http://localhost:9200/index/type1/1/](http://localhost:9200/index/type1/1/)

{"\_index":"index","\_type":"type1","\_id":"1","\_version":1, "\_source" : {"name":"medcl","blog":"[http://log.medcl.net](http://log.medcl.net)"}}  
a.. ok,let’s update it,update a filed(name),and add a new filed(time)  
curl -XPOST [http://localhost:9200/index/type1/1/\_update](http://localhost:9200/index/type1/1/_update) -d'{"name":"medcl?","time":"2011-1-1"}'

{"ok":true,"\_index":"index","\_type":"type1","\_id":"1","\_version":2}  
a.. let’s get the document again,and you can see,the document is already changed.  
curl -XGET [http://localhost:9200/index/type1/1/](http://localhost:9200/index/type1/1/)

{"\_index":"index","\_type":"type1","\_id":"1","\_version":2, "\_source" : {"time":"2011-1-1","name":"medcl?","blog":"[http://log.medcl.net](http://log.medcl.net)"}}

```
-- --
mail:m@medcl.net
blog:log.medcl.net
```

---

<div class="post-metadata">

**Author:** ![James\_Cook](https://avatars.discourse-cdn.com/v4/letter/j/898d66/32.png) [@James\_Cook](https://discuss.elastic.co/u/James_Cook)\
**Post date:** [September 18, 2011, 11:15pm UTC](https://discuss.elastic.co/t/new-es-plugin-partial-update/5398/11 "2011-09-18T23:15:52Z")

</div>

The "get and reindex" happens on the server instead of the client, correct?  
Could be a big performance boost for some configurations if so.

---

<div class="post-metadata">

**Author:** ![medcl\_net](https://avatars.discourse-cdn.com/v4/letter/m/90ced4/32.png) [@medcl\_net](https://discuss.elastic.co/u/medcl_net)\
**Post date:** [September 19, 2011, 1:42am UTC](https://discuss.elastic.co/t/new-es-plugin-partial-update/5398/12 "2011-09-19T01:42:19Z")

</div>

james,you are right.

From: James Cook  
Sent: Monday, September 19, 2011 7:15 AM  
To: [elasticsearch@googlegroups.com](mailto:elasticsearch@googlegroups.com)  
Subject: Re: new es plugin : partial update

The "get and reindex" happens on the server instead of the client, correct? Could be a big performance boost for some configurations if so.

---

<div class="post-metadata">

**Author:** ![Frifri](https://avatars.discourse-cdn.com/v4/letter/f/a88e4f/32.png) [@Frifri](https://discuss.elastic.co/u/Frifri)\
**Post date:** [October 3, 2011, 10:31pm UTC](https://discuss.elastic.co/t/new-es-plugin-partial-update/5398/13 "2011-10-03T22:31:47Z")

</div>

Hey,

I have the same issue as Ranga does. I installed it properly on ( now)  
0.17.7 and restarted. The plugins seems to be active (log: [...] loaded  
[mapper-attachments, analysis-icu], sites [ElasticSearch.PartialUpdate]  
[...]) but the method remains unknown.

What am I doing wrong? Thx in Advance

---

<div class="post-metadata">

**Author:** ![vineeth\_mohan](https://avatars.discourse-cdn.com/v4/letter/v/bc79bd/32.png) [@vineeth\_mohan](https://discuss.elastic.co/u/vineeth_mohan)\
**Post date:** [October 15, 2011, 2:16pm UTC](https://discuss.elastic.co/t/new-es-plugin-partial-update/5398/14 "2011-10-15T14:16:00Z")

</div>

1 question here.  
Is this "get and reindex" operation atomic.  
That will will dirty reads happen ??  
While data is read and written back , is it guaranteed that no writes happen  
in the document ?

Thanks  
Vineeth

On Tue, Oct 4, 2011 at 4:01 AM, Frifri [henning.frieder@googlemail.com](mailto:henning.frieder@googlemail.com)wrote:

> Hey,
> 
> I have the same issue as Ranga does. I installed it properly on ( now)  
> 0.17.7 and restarted. The plugins seems to be active (log: [...] loaded  
> [mapper-attachments, analysis-icu], sites [Elasticsearch.PartialUpdate]  
> [...]) but the method remains unknown.
> 
> What am I doing wrong? Thx in Advance

---

<div class="post-metadata">

**Author:** ![Lukas\_Vlcek1](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/lukas_vlcek1/32/819_2.png) [@Lukas\_Vlcek1](https://discuss.elastic.co/u/Lukas_Vlcek1)\
**Post date:** [October 15, 2011, 5:51pm UTC](https://discuss.elastic.co/t/new-es-plugin-partial-update/5398/15 "2011-10-15T17:51:30Z")

</div>

These are two independent operations but you can use versioning feature to  
learn if the document has been modified meantime. Do not know if this plugin  
is using it though.

Lukas

On Saturday, October 15, 2011, Vineeth Mohan [vineethmohan@algotree.com](mailto:vineethmohan@algotree.com)  
wrote:

> 1 question here.  
> Is this "get and reindex" operation atomic.  
> That will will dirty reads happen ??  
> While data is read and written back , is it guaranteed that no writes  
> happen in the document ?
> 
> Thanks  
> Vineeth
> 
> On Tue, Oct 4, 2011 at 4:01 AM, Frifri [henning.frieder@googlemail.com](mailto:henning.frieder@googlemail.com)  
> wrote:
> 
> > Hey,
> > 
> > I have the same issue as Ranga does. I installed it properly on ( now)  
> > 0.17.7 and restarted. The plugins seems to be active (log: [...] loaded  
> > [mapper-attachments, analysis-icu], sites [Elasticsearch.PartialUpdate]  
> > [...]) but the method remains unknown.
> > 
> > What am I doing wrong? Thx in Advance

---

<div class="post-metadata">

**Author:** ![Deepesh\_naini](https://avatars.discourse-cdn.com/v4/letter/d/bbce88/32.png) [@Deepesh\_naini](https://discuss.elastic.co/u/Deepesh_naini)\
**Post date:** [August 7, 2013, 1:03pm UTC](https://discuss.elastic.co/t/new-es-plugin-partial-update/5398/16 "2013-08-07T13:03:20Z")

</div>

Hey Guys,

I am using spring data elasticsearch in my project and I am facing the  
following problem. Please help.

Code:

IndexRequest indexRequest = _new_ IndexRequest();

```
        indexRequest.source("viewer", *true*);

       

        UpdateQuery updateQuery = *new*UpdateQueryBuilder().withId(documentID).

```

withIndexRequest(indexRequest).build();

```
        updateQuery.setIndexName(SearchConstants.*INDEX_NAME*);

        updateQuery.setType(SearchConstants.*INDEX_TYPE_BOOK*+"_"

```

+book.getBookmetadata().getLanguage());

```
        //logger.debug("Indexing book " + documentID + ":" + 

```

book.getBookmetadata().getTitle());

```
        elasticsearchTemplate.update(updateQuery);

```

Error

_org.elasticsearch.common.util.concurrent.UncategorizedExecutionException_:  
Failed execution

```
   at 

```

org.elasticsearch.action.support.AdapterActionFuture.rethrowExecutionException(  
_AdapterActionFuture.java:88_)

```
   at org.elasticsearch.action.support.AdapterActionFuture.actionGet(*

```

AdapterActionFuture.java:49\*)

```
   at 

```

org.springframework.data.elasticsearch.core.ElasticsearchTemplate.update(\*  
ElasticsearchTemplate.java:226\*)

```
   at 

```

com.pearson.nexttext.plugins.service.elasticsearch.searchservices.impl.BookIndexingServiceImpl.reIndexBook(  
_BookIndexingServiceImpl.java:126_)

```
   at 

```

com.pearson.nexttext.service.api.service.impl.BookIndexServiceImpl.reIndexBook(  
_BookIndexServiceImpl.java:25_)

```
   at 

```

com.pearson.nexttext.service.api.controller.IndexController.reIndexBook(\*  
IndexController.java:58\*)

```
   at sun.reflect.NativeMethodAccessorImpl.invoke0(*Native Method*)

   at sun.reflect.NativeMethodAccessorImpl.invoke(*

```

NativeMethodAccessorImpl.java:39\*)

```
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(*

```

DelegatingMethodAccessorImpl.java:25\*)

```
   at java.lang.reflect.Method.invoke(*Method.java:597*)

   at 

```

org.springframework.web.method.support.InvocableHandlerMethod.invoke(\*  
InvocableHandlerMethod.java:219\*)

```
   at 

```

org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(  
_InvocableHandlerMethod.java:132_)

```
   at 

```

org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(  
_ServletInvocableHandlerMethod.java:104_)

```
   at 

```

org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(  
_RequestMappingHandlerAdapter.java:745_)

```
   at 

```

org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(  
_RequestMappingHandlerAdapter.java:686_)

```
   at 

```

org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(  
_AbstractHandlerMethodAdapter.java:80_)

```
   at org.springframework.web.servlet.DispatcherServlet.doDispatch(*

```

DispatcherServlet.java:925\*)

```
   at org.springframework.web.servlet.DispatcherServlet.doService(*

```

DispatcherServlet.java:856\*)

```
   at org.springframework.web.servlet.FrameworkServlet.processRequest(*

```

FrameworkServlet.java:936\*)

```
   at org.springframework.web.servlet.FrameworkServlet.doPost(*

```

FrameworkServlet.java:838\*)

```
   at javax.servlet.http.HttpServlet.service(*HttpServlet.java:727*)

   at org.springframework.web.servlet.FrameworkServlet.service(*

```

FrameworkServlet.java:812\*)

```
   at javax.servlet.http.HttpServlet.service(*HttpServlet.java:820*)

   at org.mortbay.jetty.servlet.ServletHolder.handle(*

```

ServletHolder.java:487\*)

```
   at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(*

```

ServletHandler.java:1093\*)

```
   at 

```

org.springframework.security.web.FilterChainProxy.doFilterInternal(\*  
FilterChainProxy.java:186\*)

```
   at org.springframework.security.web.FilterChainProxy.doFilter(*

```

FilterChainProxy.java:160\*)

```
   at 

```

org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(\*  
DelegatingFilterProxy.java:346\*)

```
   at org.springframework.web.filter.DelegatingFilterProxy.doFilter(*

```

DelegatingFilterProxy.java:259\*)

```
   at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(*

```

ServletHandler.java:1084\*)

```
   at org.mortbay.jetty.servlet.ServletHandler.handle(*

```

ServletHandler.java:360\*)

```
   at org.mortbay.jetty.security.SecurityHandler.handle(*

```

SecurityHandler.java:216\*)

```
   at org.mortbay.jetty.servlet.SessionHandler.handle(*

```

SessionHandler.java:181\*)

```
   at org.mortbay.jetty.handler.ContextHandler.handle(*

```

ContextHandler.java:726\*)

```
   at org.mortbay.jetty.webapp.WebAppContext.handle(*

```

WebAppContext.java:405\*)

```
   at org.mortbay.jetty.handler.ContextHandlerCollection.handle(*

```

ContextHandlerCollection.java:206\*)

```
   at org.mortbay.jetty.handler.HandlerCollection.handle(*

```

HandlerCollection.java:114\*)

```
   at org.mortbay.jetty.handler.HandlerWrapper.handle(*

```

HandlerWrapper.java:152\*)

```
   at org.mortbay.jetty.Server.handle(*Server.java:324*)

   at org.mortbay.jetty.HttpConnection.handleRequest(*

```

HttpConnection.java:505\*)

```
   at org.mortbay.jetty.HttpConnection$RequestHandler.content(*

```

HttpConnection.java:843\*)

```
   at org.mortbay.jetty.HttpParser.parseNext(*HttpParser.java:648*)

   at org.mortbay.jetty.HttpParser.parseAvailable(*HttpParser.java:211*)

   at org.mortbay.jetty.HttpConnection.handle(*HttpConnection.java:380*)

   at org.mortbay.io.nio.SelectChannelEndPoint.run(*

```

SelectChannelEndPoint.java:395\*)

```
   at org.mortbay.thread.QueuedThreadPool$PoolThread.run(*

```

QueuedThreadPool.java:488\*)

Caused by: _java.lang.IndexOutOfBoundsException_: Readable byte limit  
exceeded: 175

```
   at 

```

org.elasticsearch.common.netty.buffer.AbstractChannelBuffer.readByte(\*  
AbstractChannelBuffer.java:236\*)

```
   at 

```

org.elasticsearch.transport.netty.ChannelBufferStreamInput.readByte(\*  
ChannelBufferStreamInput.java:132\*)

```
   at org.elasticsearch.common.io.stream.AdapterStreamInput.readByte(*

```

AdapterStreamInput.java:35\*)

```
   at org.elasticsearch.common.io.stream.StreamInput.readBoolean(*

```

StreamInput.java:252\*)

```
   at org.elasticsearch.action.update.UpdateRequest.readFrom(*

```

UpdateRequest.java:566\*)

```
   at 

```

org.elasticsearch.transport.netty.MessageChannelHandler.handleRequest(\*  
MessageChannelHandler.java:204\*)

```
   at 

```

org.elasticsearch.transport.netty.MessageChannelHandler.messageReceived(\*  
MessageChannelHandler.java:108\*)

```
   at 

```

org.elasticsearch.common.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(  
_SimpleChannelUpstreamHandler.java:70_)

```
   at 

```

org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUpstream(\*  
DefaultChannelPipeline.java:564\*)

```
   at 

```

org.elasticsearch.common.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(  
_DefaultChannelPipeline.java:791_)

```
   at 

```

org.elasticsearch.common.netty.channel.Channels.fireMessageReceived(\*  
Channels.java:296\*)

```
   at 

```

org.elasticsearch.common.netty.handler.codec.frame.FrameDecoder.unfoldAndFireMessageReceived(  
_FrameDecoder.java:462_)

```
   at 

```

org.elasticsearch.common.netty.handler.codec.frame.FrameDecoder.callDecode(\*  
FrameDecoder.java:443\*)

```
   at 

```

org.elasticsearch.common.netty.handler.codec.frame.FrameDecoder.messageReceived(  
_FrameDecoder.java:303_)

```
   at 

```

org.elasticsearch.common.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(  
_SimpleChannelUpstreamHandler.java:70_)

```
   at 

```

org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUpstream(\*  
DefaultChannelPipeline.java:564\*)

```
   at 

```

org.elasticsearch.common.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(  
_DefaultChannelPipeline.java:791_)

```
   at org.elasticsearch.common.netty.OpenChannelsHandler.handleUpstream(

```

_OpenChannelsHandler.java:74_)

```
   at 

```

org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUpstream(\*  
DefaultChannelPipeline.java:564\*)

```
   at 

```

org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUpstream(\*  
DefaultChannelPipeline.java:559\*)

```
   at 

```

org.elasticsearch.common.netty.channel.Channels.fireMessageReceived(\*  
Channels.java:268\*)

```
   at 

```

org.elasticsearch.common.netty.channel.Channels.fireMessageReceived(\*  
Channels.java:255\*)

```
   at org.elasticsearch.common.netty.channel.socket.nio.NioWorker.read(*

```

NioWorker.java:88\*)

```
   at 

```

org.elasticsearch.common.netty.channel.socket.nio.AbstractNioWorker.process(  
_AbstractNioWorker.java:109_)

```
   at 

```

org.elasticsearch.common.netty.channel.socket.nio.AbstractNioSelector.run(\*  
AbstractNioSelector.java:312\*)

```
   at 

```

org.elasticsearch.common.netty.channel.socket.nio.AbstractNioWorker.run(\*  
AbstractNioWorker.java:90\*)

```
   at org.elasticsearch.common.netty.channel.socket.nio.NioWorker.run(*

```

NioWorker.java:178\*)

```
   at org.elasticsearch.common.netty.util.ThreadRenamingRunnable.run(*

```

ThreadRenamingRunnable.java:108\*)

```
   at 

```

org.elasticsearch.common.netty.util.internal.DeadLockProofWorker$1.run(\*  
DeadLockProofWorker.java:42\*)

```
   at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(*

```

ThreadPoolExecutor.java:886\*)

```
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(*

```

ThreadPoolExecutor.java:908\*)

```
   at java.lang.Thread.run(*Thread.java:619*)

```

Can you please point what I am doing wrong here. I have spent a lot of time  
on this but I am not able to resolve this.

On Saturday, September 17, 2011 9:59:59 AM UTC+5:30, Medcl wrote:

> hey,guys
> 
> I just pushed a elasticsearch plugin to github,  
> [https://github.com/medcl/ElasticSearch.PartialUpdate](https://github.com/medcl/ElasticSearch.PartialUpdate)  
> the plugin that allows you to update a specify fileds of a document,avoid  
> full reindex and reduce some traffic costs,
> 
> here is a quick intro:  
> how to play with this plguin?
> 
> - first,let’s index a doucument
> 
> curl -XDELETE [http://localhost:9200/index/type1/1/](http://localhost:9200/index/type1/1/)  
> curl -XPOST [http://localhost:9200/index/type1/1/](http://localhost:9200/index/type1/1/) -d'{"name":"medcl","blog":"[http://log.medcl.net](http://log.medcl.net)"}'
> 
> {"ok":true,"\_index":"index","\_type":"type1","\_id":"1","\_version":1}
> 
> - now let’s get it
> 
> curl -XGET [http://localhost:9200/index/type1/1/](http://localhost:9200/index/type1/1/)
> 
> {"\_index":"index","\_type":"type1","\_id":"1","\_version":1, "\_source" : {"name":"medcl","blog":"[http://log.medcl.net](http://log.medcl.net)"}}
> 
> - ok,let’s update it,update a filed(name),and add a new filed(time)
> 
> curl -XPOST [http://localhost:9200/index/type1/1/\_update](http://localhost:9200/index/type1/1/_update) -d'{"name":"medcl?","time":"2011-1-1"}'
> 
> {"ok":true,"\_index":"index","\_type":"type1","\_id":"1","\_version":2}
> 
> - let’s get the document again,and you can see,the document is already  
> changed.
> 
> curl -XGET [http://localhost:9200/index/type1/1/](http://localhost:9200/index/type1/1/)
> 
> {"\_index":"index","\_type":"type1","\_id":"1","\_version":2, "\_source" : {"time":"2011-1-1","name":"medcl?","blog":"[http://log.medcl.net](http://log.medcl.net)"}}
> 
> * * *
> 
> [mail:m...@medcl.net](mailto:mail:m...@medcl.net) \<javascript:\>  
> blog:log.medcl.net

--  
You received this message because you are subscribed to the Google Groups "elasticsearch" group.  
To unsubscribe from this group and stop receiving emails from it, send an email to [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).  
For more options, visit [https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out).

---

<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, 2:22am UTC](https://discuss.elastic.co/t/new-es-plugin-partial-update/5398/17 "2017-07-06T02:22:25Z")

</div>


