一、版本号:

在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 web 程序---猜数字游戏

    思路:1.第一个是随机产生的数字,告诉我们去猜  cai.jsp 2.第二个是一个form表单,提交按钮后,将连接到验证页面 test1.jsp 3.第三个是比较猜的数和随机数.对了,提示再玩一次,不 ...

  2. node+express+ejs搭建一个简单的"页面"

    1.建立工程文件夹my_ejs. 2.首先利用npm install express和npm install ejs 下载这两个家伙.至于要不要设置成全局的,看习惯,我习惯性的下载到本项目中的文件夹中 ...

  3. 阶段性总结(PHP-Array函数)

    PHP 5 Array 函数 PHP Array 简介 PHP Array 函数允许您访问并操作数组. 支持简单的数组和多维数组. 详情见下表: 函数 描述 array() 创建数组. array_c ...

  4. 安卓权限处理 PermissionDog

    PermissionDog 简介 权限狗 权限申请 最近在一家公司实习,项目中需要用到适配安卓6.0以上的系统,我本来是想用其他人已经写好的权限申请框架来实现的,但是发现跟我的需求有点小区别,所以就自 ...

  5. 线程之死锁、递归锁、信号量、事件Event 、定时器

    1.死锁的现象 所谓死锁: 是指两个或两个以上的进程或线程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去.此时称系统处于死锁状态或系统产生了死锁,这些永远在互相 ...

  6. Fastq 常用软件

    文章转载于 Original 2017-06-08 Jolvii 生信百科 由于生物信息的大部分工作都是在没有 root 权限的集群上进行的,本期我主要介绍一下非 root 用户怎么安装常用的软件.工 ...

  7. android 2.3.3 配置github的两步骤

    第一步:配置GitHub的总账号(Version Control) 第二步:配置具体的仓库(仓库名称你从GitHub网上添加)

  8. nextcloud 安装

    nextcloud 优化 设置php.ini vim /etc/php/7.0/apache2/php.ini 添加以下代码: opcache.enable= opcache.enable_cli= ...

  9. angularjs学习访问服务器(5)

    (1) 后台AngularController.java代码 package com.amy.controller; import java.util.ArrayList; import java.u ...

  10. 团队作业4Alpha冲刺

    仓库地址:https://gitee.com/ILoveFunGame/game_strategy_network.git 第一天 2018/6/13 1.1 今日完成任务情况以及遇到的问题. 1.1 ...