转载自:http://blog.sina.com.cn/s/blog_63c8a9170102wlk3.html
本篇教程翻译自ElasticSearch官方教程,原文地址:
ElasticSearch
其他章节见:
ElasticSearch教程
第十一章:修改您的数据--更新文档
除了能够索引和替换文档,我们也可以更新文档。注意,虽然Elasticsearch现在不做就地更新。但是只要我们一做更新,Elasticsearch会删除旧的文档,然后索引一个新的文档并且在上面实时更新。
下面的例子展示了如何更新我们之前的文档(ID为1),将之前的姓名字段改为“Jane Doe”:
curl -XPOST 'localhost:9200/customer/external/1/_update?pretty' -d '
{
}'
下面的例子展示了如何更新我们之前的文档(ID为1),将之前的姓名字段改为“Jane Doe”,同时给它增加一个年龄字段:
curl -XPOST 'localhost:9200/customer/external/1/_update?pretty' -d '
{
}'
可以通过简单的脚本执行更新。注意,如下的动态脚本是默认禁用的直到1.4.3,如果您想了解更多细节,请看
scripting docs。下面的例子使用一个脚本来给年龄增加5:
curl -XPOST 'localhost:9200/customer/external/1/_update?pretty' -d '
{
}'
在上面的例子,ctx._source代表要更新的那个源文档。
注意,直到写这篇教程为止,一次只能对一个文档进行更新。在未来,Elasticsearch可能会提供一个查询条件(就像SQL的UPDATE-WHERE语句)来更新多个文档。