批量增删改"_bulk"
除了delete以外,每个操作需要两个json字符串,语法如下:
{"action":{"metadata"}}
{"data"}
bulk api对json字符串的语法有严格的要求,每个json串不能换行,只能放在一行,同时json串和json串之间必须有一个换行
有哪些类型的操作可以执行?
1、delete:删除一个文档
2、create:PUT /index/type/id/_ceate,强制创建
3、index:普通的put操作,可以是创建文档,也可以是全量替换文档
4、update:partial update操作
----------------------------------------------------------------------------------------------------
1、不同index的操作
POST /_bulk
{"delete":{"_index":"test_index1","_type":"test_type","_id":1}}
{"create":{"_index":"test_index2","_type":"test_type","_id":1}}
{"test_field":"test field create"}
{"index":{"_index":"test_index3","_type":"test_type","_id":1}}
{"test_field":"test field index"}
{"update":{"_index":"test_index4","_type":"test_type","_id":1,"_retry_on_conflict":3}}
{"doc":{"test_field":"test field update"}}
bulk操作中,任意一个操作失败不会影响其他的操作,但是在返回的结果集中,会告诉你异常的日志
2、相同index,不同type的操作
{"delete":{"_type":"test_type1","_id":1}}
{"create":{"_type":"test_type2","_id":1}}
{"test_field":"test type ceate"}
{"index":{"_type":"test_type3","_id":1}}
{"test_field":"test type index"}
{"update":{"_type":"test_type4","_id":1,"_retry_on_conflict":3}}
{"doc":{"test_field":"test type update"}}
3、相同index、type,不同id的操作
{"delete":{"_id":1}}
{"ceate":{"_id":2}}
{"test_field":"test id create"}
{"index":{"_id":3}}
{"test_field":"test id index"}
{"update":{"_id":4,"_retry_on_conflict":3}}
{"doc":{"test_field":"test id update"}}
4、bulk size最佳大小
bulk request内容会加载到内存中,如果太大的话,性能反而会降低,因此需要反复尝试,得到一个最佳的bulk size
一般从1000条数据开始,逐渐成倍的增加。
如果看数据文件大小的话,最好是在5到15M之间。
批量增删改"_bulk"的更多相关文章
- Elasticsearch学习笔记(十)批量查询mget、批量增删改bulk
一.批量查询 mget GET /_mget { "docs":[ { "_index":" ...
- Elasticsearch由浅入深(六)批量操作:mget批量查询、bulk批量增删改、路由原理、增删改内部原理、document查询内部原理、bulk api的奇特json格式
mget批量查询 批量查询的好处就是一条一条的查询,比如说要查询100条数据,那么就要发送100次网络请求,这个开销还是很大的如果进行批量查询的话,查询100条数据,就只要发送1次网络请求,网络请求的 ...
- entity framework 5 批量增删改效率优化
对于数据的批量增删改最慢的就是操作一条就提交一次事务. 以下是对增删改操作的优化测试 同样的300条数据 批量新增只提交一次事务 用时:10673.5444ms 批量新增只提交一次事务并把contex ...
- OracleHelper(对增删改查分页查询操作进行了面向对象的封装,对批量增删改操作的事务封装)
公司的一个新项目使用ASP.NET MVC开发,经理让我写个OracleHelper,我从网上找了一个比较全的OracleHelper类,缺点是查询的时候返回DataSet,数据增删改要写很多代码(当 ...
- MYSQL冷知识——ON DUPLICATE KEY 批量增删改
一 有个需求要批量增删改,并且是混合的,也就是仅不存在才增. 删简单,因为有个deleteStaute之类的字段,删除本质上就是就是一个修改 所以就是实现批量混合增改,然而组长说mysql不支持混合增 ...
- MyBatis批量增删改查操作
前文我们介绍了MyBatis基本的增删该查操作,本文介绍批量的增删改查操作.前文地址:http://blog.csdn.net/mahoking/article/details/43673741 ...
- Jmeter对数据库批量增删改查
本文主要的内容是使用Jmeter对数据库进行数据的操作,包括单条语句的增删改查,多条语句的增删改查,本文主要介绍操作流程,关于流程的运作原理,对原理感兴趣的同学可自行查阅资料. 首先需要准备一个数据库 ...
- MyBatis批量增删改的另外一种思路(推荐)
零.传统拼接SQL语句的弊端 传统上利用Mybatis进行批量操作的方式本质来说是拼接SQL语句,然后交给底层执行,如之前博文而言. 其实这种方式是存在弊端的: 1. SQL语句可能会过长,DB的引擎 ...
- 关于mybatis中,批量增删改查以及參数传递的问题
1.參数传递的问题 大多数情况下,我们都是利用map作为參数,而且大部分情况下都是仅仅有一个參数. 可是,我们也能够利用@param注解,来传入多个參数,此时,mybatis会自己主动将參数封装成ma ...
随机推荐
- Android应用图标微技巧,8.0系统中应用图标的适配
现在已经进入了2018年,Android 8.0系统也逐渐开始普及起来了.三星今年推出的最新旗舰机Galaxy S9已经搭载了Android 8.0系统,紧接着小米.华为.OV等国产手机厂商即将推出的 ...
- Oracle Grid 11.2.0.4 安装是出现“[INS-41112] Specified network interface doesnt maintain connectivity across cluster”错误
最新文章:Virson's Blog 安装Oracle 11.2.0.4 的RAC,在Grid 安装时报错: [INS-41112]Specified network interface doesnt ...
- (转)java 中unsigned类型的转换
转自:http://blog.sina.com.cn/s/blog_77bf45a90101dld9.html 在Java中,不存在Unsigned无符号数据类型,但可以轻而易举的完成Unsigned ...
- Hbase学习笔记——基本CRUD操作
进入Hbase的安装目录,启动Hbase bin/start-hbase.sh 打开shell命令行模式 bin/hbase shell 关闭Hbase bin/stop-hbase.sh 一个cel ...
- myeclipse创建hibernate工程
1.创建数据库: from blog http://www.cnblogs.com/zhaocundang/p/9061959.html 使用navicat mysql IDE: 创建数据库 book ...
- 在linux中安装字体
https://blog.csdn.net/wangxintong_1992/article/details/81194896
- Ubuntu Linux 解决 bash ./ 没有那个文件或目录 的方法
Ubuntu Linux 解决 bash ./ 没有那个文件或目录 的方法 经常在ubuntu 64位下运行 ./xxx 会跳出来说没有这个文件或者目录,但是ls看又有这个文件,很是奇怪. 其实原因很 ...
- File not found 错误 nginx
这个错误很常见,很明显找不到文件. 原因是php-fpm找不到SCRIPT_FILENAME里执行的php文件,所以返回给nginx 404 错误. 那么两种情况要么文件真的不存在,要么就是路径错误. ...
- A - Wall
Once upon a time there was a greedy King who ordered his chief Architect to build a wall around the ...
- 在PowerShell中使用Vim
1.需要去Vim官网下载并安装一个可运行于Win8系统的执行文件(ftp://ftp.vim.org/pub/vim/pc/gvim74.exe). 2.设置PowerShell环境,使能“allow ...