ES处理冲突
来源:互联网 发布:高成本网络大电影 编辑:程序博客网 时间:2024/06/06 05:53
1、什么是文档
对象JSON序列化后是一个文档
2、如何唯一确定一个文档
_index + _type + _idid可以由外部指定,也可以由ES自动生成
3、ES更新文档流程
先GET原始文档,然后修改,最后将整个文档进行再次索引处理
4、ES中_version变更
对应于增删查改操作,ES中索引、put和删除操作时,无论文档有没有变化,它的_version都会增加
5、如何处理修改冲突
乐观并发控制:所有更新或删除文档的API都支持version参数,从而实现乐观并发控制使用场景1:ES作为持久化层问题描述:不同进程同时对某一个文档进行修改解决方案:先Get操作获取了_version,在修改时传入之前获取得version参数,只有当前文档version与指定version参数相等时才执行更新,否则提示失败使用场景2:MySQL作为持久化层,ES只是用于搜索问题描述:当主库(MySQL)中数据发生更改,需要更新ES,可能存在并发修改?解决方案:ES比较外部version是否大于文档_version,才能更新成功,例如PUT /website/blog/123?version=5&version_type=external使用场景3:无关顺序的更新(局部更新:新增字段或改变字段值)问题描述:对于很多的局部更新来说,文档有没有发生变化实际上不重要解决方案:设定retry_on_conflict,规定自动完成这项请求的次数
阅读全文
0 0
- ES处理冲突
- es jar包冲突问题
- [es]perl操作es中文处理
- ES内部分片处理机制
- ES内部分片处理机制
- 矛盾冲突处理
- 团队冲突的处理
- hash冲突处理
- 散列表处理冲突
- jar冲突处理
- eclipse快捷键冲突处理
- hash冲突处理
- git svn处理冲突
- ElasticSearch处理更新冲突
- hash 冲突处理
- 处理git pull 冲突
- Elasticsearch - 处理冲突
- Git 冲突处理
- Android APK安装常见错误列表
- 《开涛:网站架构核心技术》读书笔记系列-第15章【disruptor】
- Linux入门3
- Unity3D和IOS的交互教程——通过URL启动APP并传递参数
- mybatis-generator-core 下载,免费
- ES处理冲突
- Netty
- Centos常用命令
- thinkphp 2.0实现从cookie读取配置设置语言
- 实现公告栏无缝滚动的js代码(转)
- spring-boot 自定义Executor的配置方法及@Async的使用
- stm32学习笔记 F1系列独立看门狗与窗口看门狗
- 建立在云主机上的完全分布式hadoop集群搭建
- springboot引入外部jar包