文档章节

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

强子大叔的码田
 强子大叔的码田
发布于 2014/05/13 18:34
字数 336
阅读 152
收藏 0

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 
   }
}
新的字段已经被添加。

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

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


 

© 著作权归作者所有

强子大叔的码田

强子大叔的码田

粉丝 907
博文 1429
码字总数 1219943
作品 9
南京
架构师
私信 提问
ES权威指南(中文版)学习_1

1、在ES中存储数据的行为叫做 索引(indexing),不过在索引之前我们应该明确的是数据应该存储在哪里。 2、在ES中,文档归属于一种类型(type),而这些类型存在于索引(index)中,类比传统...

MrYx3en
2015/09/21
147
0
es不简易指南

1.nested Object mapping及查询 进阶:Elasticsearch之Nested(嵌套)系列、es权威指南-嵌套-查询、es权威指南-嵌套-对象(官方文档中文详细解释) 2.父子文档 进阶:Elasticsearch索引的父子关...

刘阳0292
2017/08/30
0
0
Mac下安装Elasticsearch极简指南

Elasticsearch(以下简称ES)是一个面向文档的实时分布式搜索和分析引擎。本文是在Mac系统下使用Homebrew安装ES+Kibana+Marvel的一份极简指南。 前置条件 想要安装ES的前提是已经在本机安装了J...

郗南枫
2017/11/08
0
0
开源电子书

目录 语言无关类 操作系统 智能系统 分布式系统 编译原理 函数式概念 计算机图形学 WEB服务器 版本控制 编辑器 NoSQL PostgreSQL MySQL 管理和监控 项目相关 设计模式 Web 大数据 编程艺术 ...

zting科技
2017/12/11
0
0
ElasticSearch学习笔记2

shard 和 replica 机制 一个 index 包含多个 shard,primary shard 的数量是在建立 index 的时候就确定的,不可修改,但是 replica 是可随时修改的 新建 index 的时候,primary shard 的默认...

超级个体颛顼
2017/09/07
0
0

没有更多内容

加载失败,请刷新页面

加载更多

RxJava进行单元测试的方式

@Test public void completeTask_retrievedTaskIsComplete() { // Given a new task in the persistent repository final Task newTask = new Task(TITLE, ""); ......

SuShine
3分钟前
1
0
正则表达式大全

检验手机号码 # 要求:手机号码必须为11位数字,以1开头,第二位为1或5或8。import redef verify_mobile(): mob = input("请输入手机号码:") ret = re.match(r"1[358]\d{9}", m......

彩色泡泡糖
7分钟前
1
0
QT之border-image属性

一、border-image的兼容性 border-image可以说是CSS3中的一员大将,将来一定会大放光彩,其应用潜力真的是非常的惊人。可惜目前支持的浏览器有限,仅Firefox3.5,chrome浏览器,Safari3+支持...

shzwork
8分钟前
2
0
Kubernetes Operator简易教程

1. 安装operator-sdk //安装 operator-sdk$ apt-get install operator-sdk.....$ operator-sdk versionoperator-sdk version: v0.7.0$ go versiongo version go1.11.4 darwin/amd64 2......

Robotcl_Blog
8分钟前
2
0
再谈DAG任务分解和Shuffle RDD

1、DagScheduler分析 DagScheduler功能主要是负责RDD的各个stage的分解和任务提交。Stage分解是从触发任务调度过程的finalStage开始倒推寻找父stage,如果父stage没有提交任务则循环提交缺失...

守望者之父
14分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部