您的位置:首页 > 其它

ES权威指南[官方文档学习笔记]-33 Updating a whole document

2014-05-13 00:00 633 查看
es:http://www.elasticsearch.org/guide/en/elasticsearch/guide/current/update-doc.html

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

内容

es里的文档是不可改变的,我们不能改变它们。
如果你想更新一个已经存在的文档,我们重新索引或者替换它,可以使用同样的API。

PUT /website/blog/123
{
"title": "My first blog entry",
"text":  "I am starting to get the hang of this...",
"date":  "2014/01/02"
}

响应如下:可以看到已经修改了_version字段。
{
"_index" :   "website",
"_type" :    "blog",
"_id" :      "123",
"_version" : 2,
"created":   false
}

created标识为false,表明已经有这么一个index,type,ID的组合存在过。

es已经标记了老的文档为删除,并且增加了一个全新的文档。
老版本的文档不会立刻消失,尽管你已经不能再访问它。
es会后台删除标记为删除的文档。

后面将讨论更新API,可以部分更新文档。看起来像是更新部分文档,实际上仍然是执行了一样的操作。
1 从老的文档中检索JSON
2 改变它。
3 删除老文档
4 索引新的文档。

也就是说依靠老的文档来获得新的文档,然后删除老文档,索引新文档。
唯一的不同在于:更新API在一次请求内完成。而不需要用户get一次加上index一次。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  elasticsearch