elasticsearch6 学习之批量操作详解程序员
2023-06-13 09:20:19 时间
一、mget批量查询
mget可以将多个请求才能获的数据,合并到一个请求中以节省网络开销。
1、查询同一个索引下,通一个类型,不同id的数据
GET /book_index/book_type/_mget "docs" : [ "_id" : 1 "_id" : 2 }
更简单的方式:
GET /book_index/book_type/_mget "ids":[1,2] }
2、查询不同索引,不同类型的数据
GET /_mget "docs" : [ "_index":"test_index", "_type":"test_type", "_id" : 1 "_index":"book_index", "_type":"book_type", "_id" : 1 }
二、bulk 批量添加、修改、删除操作
1、bulk api对json的语法,有严格的要求,每个json串不能换行,只能放一行,同时一个json串和一个json串之间,必须有一个换行
2、bulk操作中,任意一个操作失败,是不会影响其他的操作的,但是在返回结果里,会告诉你异常日志
3、bulk request会加载到内存里,如果太大的话,性能反而会下降,因此需要反复尝试一个最佳的bulk,size。一般从1000~5000条数据开始,尝试逐渐增加。另外,如果看大小的话,最好是在5~15MB之间。
1、bulk批量添加
POST /_bulk {"create":{"_index":"book_index","_type":"book_type","_id":4}} //create 添加操作 {"name":"book4","author":"ADC"} {"create":{"_index":"book_index","_type":"book_type","_id":5}} //create 添加操作 {"name":"book5","author":"ADC5"} {"index":{"_index":"book_index","_type":"book_type","_id":4}} //index 该数据做的是全量替换操作 {"name":"book4","author":"update rep"}
2、bulk批量修改
POST /_bulk {"update":{"_index":"book_index","_type":"book_type","_id":6}} {"doc":{"name":"book666","author":"update rep6666"}} {"update":{"_index":"book_index","_type":"book_type","_id":7}} {"doc":{"name":"book77"}}
该方式做的是partial update 指定修改内容修改。
3、bulk批量删除
POST /_bulk {"delete":{"_index":"book_index","_type":"book_type","_id":6}} {"delete":{"_index":"book_index","_type":"book_type","_id":7}}
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/6386.html
服务器部署程序员系统优化网站设置运维相关文章
- Python小工具 | 如何自动下载、压缩并批量替换文章中的外链图片
- wordpress完整搬家更换域名或者批量数据库修改字符的方法(wordpress如何更换域名)
- java使用POI操作excel文件,实现批量导出,和导入详解编程语言
- 名Linux 下批量打印文件名的简便方法(linux打印所有文件)
- WordPress 搬家 – MYSQL 批量替换字段内容的sql命令
- MySQL批量导入数据库快捷指南(mysql导入库)
- 快如闪电!学习MySQL批量插入技巧,让你高效处理大批量数据。(mysql批量插入)
- 一键实现txt文件批量导入MySQL数据库(txt批量导入mysql)
- MySQL限制批量修改,如何处理(mysql不允许批量修改)
- 使用Redis进行远程批量数据删除(redis远程批量删除)
- 利用Redis远程实现批量删除(redis远程批量删除)
- Redis实现远程批量数据删除(redis远程批量删除)
- php中批量修改文件后缀名的函数代码
- 将mater库中的系统存储过程批量生成*.sql文件通用且非常实用