一、版本号:

在es中每个文档都有一个版本号,默认情况下,版本号都是随着每次对该文档的修改或者删除自增的,当然你也可以自己指定。有了这个文档号,我们可以像mysql

乐观锁一样,用来进行控制字我们文档的更新,如果要更新的文档号与索引中的文档号不一致,那么es会拒绝该次操作。常用于事务的处理中。

url:PUT http://127.0.0.1:9200/myes/name/6?version=17&pretty/

参数:

{
"name":"zzq",
"age":17
}

结果:

成功的结果

{
"_index": "myes",
"_type": "name",
"_id": "6",
"_version": 18,
"_shards": {
"total": 2,
"successful": 1,
"failed": 0
},
"created": false
}

 

失败的结果:

{
"error": {
"root_cause": [
{
"type": "version_conflict_engine_exception",
"reason": "[name][6]: version conflict, current [18], provided [17]",
"shard": "2",
"index": "myes"
}
],
"type": "version_conflict_engine_exception",
"reason": "[name][6]: version conflict, current [18], provided [17]",
"shard": "2",
"index": "myes"
},
"status": 409
}

  

二:操作类型

系统支持通过 op_type=create命令执行创建操作,只有不存在此文档的时候才会创建。如果不指定类型,那么存在此文档就会更新。

url:PUT http://127.0.0.1:9200/myes/name/8?op_type=create&pretty/

参数:

{
"name":"zzq5",
"age":17
}

 

结果:

{
"_index": "myes",
"_type": "name",
"_id": "8",
"_version": 1,
"_shards": {
"total": 2,
"successful": 1,
"failed": 0
},
"created": true
}

  再次执行上述的链接,结果如下:

{
"error": {
"root_cause": [
{
"type": "document_already_exists_exception",
"reason": "[name][8]: document already exists",
"shard": "1",
"index": "myes"
}
],
"type": "document_already_exists_exception",
"reason": "[name][8]: document already exists",
"shard": "1",
"index": "myes"
},
"status": 409
}

  

 三、分片选择

默认情况下,分片的选择是通过ID的散列值进行控制的。这个只能通过 router参数进行手动控制(通过hash的值)

url:PUT http://127.0.0.1:9200/myes/name/?router=myes&pretty/

es-文档版本号,操作类型,分片选择的更多相关文章

  1. ES 文档与索引介绍

    在之前的文章中,介绍了 ES 整体的架构和内容,这篇主要针对 ES 最小的存储单位 - 文档以及由文档组成的索引进行详细介绍. 会涉及到如下的内容: 文档的 CURD 操作. Dynamic Mapp ...

  2. ElasticSearch 文档及操作

    公号:码农充电站pro 主页:https://codeshellme.github.io 本节介绍 ES 文档,索引及其基本操作. 1,ES 中的文档 在 ES 中,文档(Document)是可搜索数 ...

  3. c# word文档的操作

    参考https://blog.csdn.net/ruby97/article/details/7406806 Word对象模型  (.Net Perspective) 本文主要针对在Visual St ...

  4. MongoDB .Net Driver(C#驱动) - 内嵌数组/嵌入文档的操作(增加、删除、修改、查询(Linq 分页))

    目录 一.前言 1. 运行环境 二.前期准备工作 1. 创建 MongoDBContext MongoDb操作上下文类 2.创建测试类 3.创建测试代码 三.内嵌数组增加元素操作 1.Update.S ...

  5. C# 使用XmlDocument类对XML文档进行操作

    原创地址:http://www.cnblogs.com/jfzhu/archive/2012/11/19/2778098.html 转载请注明出处 W3C制定了XML DOM标准.很多编程语言中多提供 ...

  6. MongoDB模拟多文档事务操作

    Mongodb不支持多文档原子性操作,因此依据两阶段提交协议(Two Phase Commits protocol)来模拟事务. 以两个银行账户之间的转账行为为例,来说明如何实现多文档间的事务操作. ...

  7. 第3章 ES文档和故障处理

    第3章 ES文档和故障处理 一.ES网络配置表 ES网络配置表是ES的硬件和软件组成的列表.ES网络配置常包括以下项目: 分级 项目 杂项信息 系统名.系统厂商/型号.CPU速率.RAM.存储器.系统 ...

  8. MongoDB数据库、集合、文档的操作

    MongoDB系列第一课:MongDB简介 MongoDB系列第二课:MongDB环境搭建 MongoDB系列第三课:MongDB用户管理 MongoDB系列第四课:MongoDB数据库.集合.文档的 ...

  9. JS对文档进行操作

    对文档进行操作   创建节点 追加节点 删除节点 任务及例子 总结 对DOM的修改是,构建动态网页的关键.使用下面列举的方法,我们可以创建新的网页并且动态进行更改. 更多的DOM操作方法请查 DOM1 ...

  10. 微信文档采用第三方方式打开选择qq

    本篇文章主要记录解决: 微信打开文档后,----选择第三方应用打开---选择自己的项目,跳转到--列表选择界面--选择好友---然后返回到最近聊天界面,其中列表选择界面onDestroy的问题. 反编 ...

随机推荐

  1. Java中的 super和this

    super关键字 在子类中用于表示父类对象的引用,可以在子类中调用父类中的方法的属性. super语句 --- 子类在继承父类之后,子类的构造方法中会含有一个super语句. 如果没有手动指定supe ...

  2. Mysql无法创建外键的原因 !!!

    在MySQL中创建外键时,经常会遇到问题而失败,这是因为Mysql中还有很多细节需要我们去留意,我自己总结并查阅资料后列出了以下几种常见原因. 1.  两个字段的类型或者大小不严格匹配.例如,如果一个 ...

  3. python collections module's defaultdict

    Collections is a high-performance container datatypes. defaultdict objects class collections.default ...

  4. spring aop实现拦截接口请求打印日志

    在spring配置 1编写自己的注解类 2.编写注解解析类 3.配置spring aop代理 (下面我使用注解 如使用配置 配置切点即可,有两种代理默认jdk代理 设置true 为cglib代理) / ...

  5. WePY 在手机充值小程序中的应用与实践

    wepyjs 发布了两个月了,中间经历了很多版本更新,也慢慢开始有一些用户选择 wepyjs 作为开发框架来开发小程序,比如一些线上小程序. 以及一些来自网上的 wepyjs 的相关资源: demo源 ...

  6. Halcon函数【转】

    comment ( : : Comment : )   注释语句 exit ( : : : )  退出函数 open_file ( : : FileName, FileType : FileHandl ...

  7. 虚拟化 - kvm安装

    vmware centos6.5 64位 kvm虚拟化安装配置 安装 centos 64位 1.推荐配置 内存 2G 硬盘50G,或者再单独分一个磁盘,用来存储虚拟机文件 最关键的一步,在创建虚拟机时 ...

  8. Android 判断字符串是否相等

    判断两个String是否相等不能直接用== 或!=,需要用equals()判断,若相等,则返回1 判断TextView中文字是否相等: TextView A,B; if (A.getText().to ...

  9. Thymeleaf 条件语句

    Thymeleaf 条件语句  Posted on 2017-09-15 if 与 unless 假如现在有一个商品列表,当商品有评论时,显示view按钮,否则不显示.这时候就可以使用Thymelea ...

  10. 打包jar文件并自动运行

    1,首先在eclipse 或MyEclipse 中测试通过,没有问题,(每次修改要update Maven) 2,修改pom.xml ---把build中改为<excludes> < ...