ES权威指南[官方文档学习笔记]-38 Partial updates to documents

原创
2014/05/13 18:34
阅读数 198

es:http://www.elasticsearch.org/guide/en/elasticsearch/guide/current/partial-updates.html

下一篇:http://my.oschina.net/qiangzigege/blog/264370

内容:

之前的更新整个文档时,我们说了:
更新文档的方法是检索,修改,然后重新索引。这是对的。


尽管如下,使用更新API,我们可以做部分更新操作,比如增加一个计数器的值。

我们同时也说,文档不可改变,它们不能被改变,仅仅是替换,更新API必须遵循这个规则。
对外显示的是:我们是部分更新文档,内部来说,更新API执行同样的 检索-更新-重新索引 的过程,

不同之处在于,这个过程在一个分片内部发生,避免多个请求造成的负载。
通过减少检索和重新索引的间隔,也可以减少冲突的可能性。


举个例子,

POST /website/blog/1/_update
{
   "doc" : {
      "tags" : [ "testing" ],
      "views": 0
   }
}

响应如下:
{
   "_index" :   "website",
   "_id" :      "1",
   "_type" :    "blog",
   "_version" : 3
}

检索结果:

{
   "_index":    "website",
   "_type":     "blog",
   "_id":       "1",
   "_version":  3,
   "found":     true,
   "_source": {
      "title":  "My first blog entry",
      "text":   "Starting to get the hang of this...",
      "tags": [ "testing" ], 
      "views":  0 
   }
}
新的字段已经被添加。

使用脚本来做部分更新
我们将讨论脚本。

脚本说明:略
感兴趣的可以去官网查看脚本编程。


 

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部