注意:当执行多条数据查询、增删改时,一定要用mget、bulk,提升性能,减少网络传输
 
mget
 
回顾:查询单个文档
GET /beauties/my/2
 
mget 查询多个文档: 不同 index、不同type、不同id
GET /_mget
{
    "docs":[
        {
            "_index":"beauties",
            "_type":"my",
            "_id":1
        },
        {
            "_index":"beauties",
            "_type":"my",
            "_id":2
        }
    ]
}
 
查询多个文档: 同 index、不同type、不同id
GET /beauties/_mget
{
    "docs":[
        {
            "_type":"my",
            "_id":1
        },
        {
            "_type":"my",
            "_id":2
        }
    ]
}
 
查询 同 index、同type、不同id
GET /beauties/my/_mget
{
    "ids":[1,2,3]
}
 
 
bulk
每个json串都不能换行,不同json串之间,必须换行
 
POST /_bulk
{"create":{"_index":"beauties","_type":"my","_id":7}}   //这行和下一行,是创建一个文档
{"name":"mina","age":20,"chest":"28C"}
{"index":{"_index":"test_index_new","_type":"test_type_new","_id":1}} //这行 和下一行 是创建文档
{"test_type_new":"111TYPE"}
{"update":{"_index":"beauties","_type":"my","_id":7}} //这行 和下一行是 部分更新
{"doc":{"chest":"29C"}}
{"delete":{"_index":"beauties","_type":"my","_id":"1"}} //删除
 
注意:bulk会把所有操作都放到内存中,因此,bulk内的条数不是越多越好。太多反而吃内存导致ES性能下降。一般从5000-10000条(请求大小在5M-15M)开始测试,找到一个最适合当前集群配置的bulk大小。
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

7 批量查询mget、批量修改bulk的更多相关文章

  1. Elasticsearch学习笔记(十)批量查询mget、批量增删改bulk

    一.批量查询  mget             GET /_mget {   "docs":[       {         "_index":" ...

  2. Sql批量添加,批量查询,批量删除,批量修改。mybatis都有对应标签

    Sql批量添加,批量查询,批量删除,批量修改.mybatis都有对应标签

  3. ElasticSearch(十二)批量查询mget

    1.批量查询的好处 就是一条一条的查询,比如说要查询100条数据,那么就要发送100次网络请求,这个开销还是很大的如果进行批量查询的话,查询100条数据,就只要发送1次网络请求,网络请求的性能开销缩减 ...

  4. Elasticsearch由浅入深(六)批量操作:mget批量查询、bulk批量增删改、路由原理、增删改内部原理、document查询内部原理、bulk api的奇特json格式

    mget批量查询 批量查询的好处就是一条一条的查询,比如说要查询100条数据,那么就要发送100次网络请求,这个开销还是很大的如果进行批量查询的话,查询100条数据,就只要发送1次网络请求,网络请求的 ...

  5. StackExchange.Redis加载Lua脚本进行模糊查询的批量删除和修改

    前言 使用StackExchange.Redis没有直接相关的方法进行模糊查询的批量删除和修改操作,虽然可以通过Scan相关的方法进行模糊查询,例如:HashScan("hashkey&qu ...

  6. Oracle批量查询、删除、更新使用BULK COLLECT提高效率

    BULK COLLECT(成批聚合类型)和数组集合type类型is table of 表%rowtype index by binary_integer用法笔记 例1: 批量查询项目资金账户号为 &q ...

  7. oracle 在xml中批量插入,批量修改及多组条件查询

    最近公司用ibatis开发项目,本来可以用存储过程处理批量插入,批量修改及多组条件查询:但由于使用模块相对较小,暂时就在xml中配置,以前没有在xml做过类似处理,有必要记录一下:好了,代码如下: & ...

  8. 26.mget批量查询

    主要知识点     一.mget批量查询的好处     get查询就是一条一条的查询,比如说要查询100条数据,那么就要发送100次网络请求,这个开销还是很大的.如果使用mget进行批量查询的话,查询 ...

  9. 【JAVAEE学习笔记】hibernate02:实体规则、对象状态、缓存、事务、批量查询和实现客户列表显示

    一.hibernate中的实体规则 实体类创建的注意事项 1.持久化类提供无参数构造 2.成员变量私有,提供共有get/set方法访问.需提供属性 3.持久化类中的属性,应尽量使用包装类型 4.持久化 ...

随机推荐

  1. JavaScript中的内存溢出与内存泄漏

    内存溢出 是一种程序运行出现的错误: 当程序运行需要的内存超过了剩余的内存时, 就出抛出内存溢出的错误 var obj = {} for (var i = 0; i < 100000; i++) ...

  2. 刷题记录:2018HCTF&admin

    目录 刷题记录:2018HCTF&admin 一.前言 二.正文 1.解题过程 2.解题方法 刷题记录:2018HCTF&admin 一.前言 经过一个暑假的学习,算是正经一条web狗 ...

  3. Servlet快速入门及运行流程

    一.Servlet快速入门 1.创建一个web工程 2.在JavaResource中src下创建一个包名称为com.myxq.servlet 3.在创建的servlet包当中创建一个class文件起名 ...

  4. 第09组 Beta冲刺(2/4)

    队名:软工9组 组长博客:https://www.cnblogs.com/cmlei/ 作业博客:https://edu.cnblogs.com/campus/fzu/SoftwareEngineer ...

  5. em,rem,px的区别,以及实现原理?

    px像素(Pixel).相对长度单位.像素px是相对于显示器屏幕分辨率而言的.em是相对长度单位.相对于当前对象内文本的字体尺寸举个例子:比如说当前容器`font-size:16px;`则`1em`就 ...

  6. pypy安装与使用

    首先安装pypy环境: yum install pypy -y yum install pypy-devel -y 然后安装pypy的pip:wget https://bootstrap.pypa.i ...

  7. window上可以执行的shell脚本,复制到linux上执行报错了

    原因:.sh脚本在windows系统下用记事本文件编写的.不同系统的编码格式引起的. 解决方法:修改.sh文件格式 (1)使用vi工具vi build_android.sh (2)利用如下命令查看文件 ...

  8. java开源工具包-Jodd框架

    java开源工具包-Jodd框架 /    2019-07-24 Jodd是一个Java工具包和微型框架,Jodd 工具包含一些实用的工具类和小型框架,增强了 JDK 提供很多强大的功能,可以帮助实现 ...

  9. Redis慢日志查询

    Redis slowlog 是个什么 redis的slow log记录了那些执行时间超过规定时长的请求.执行时间不包括I/O操作(比如与客户端进行网络通信等),只是命令的实际执行时间(期间线程会被阻塞 ...

  10. [译]在你的GitHub主页固定仓库

    原文来源:https://github.blog/2016-06-16-pin-repositories-to-your-github-profile/ 您现在可以在GitHub主页上展示最能代表您工 ...