一、批量查询  mget


            GET
/_mget
{
  "docs":[
      {
        "_index":"ecommerce",
        "_type":"product",
        "_id":1
      },
      {
        "_index":"ecommerce",
        "_type":"product",
        "_id":2
      }
    ]

}
如果docs内的document都是同一个index则可以简略为:
   
        GET /ecommerce/_mget
{
  "docs":[
      {
        "_type":"product",
        "_id":1
      },
      {
        "_type":"product",
        "_id":2
      }
    ]

}
如果docs内的document都是同一个index同一个type则可以进一步简略为:
GET
/ecommerce/product/_mget

{
      "ids":[1,2,3,4]
}


二、批量增删改
bulk

       1、bulk语法
                POST /_bulk
                {"action":{"_index":"","_type":"","_id":""}}
                {"data"}
        action的值有:
                 (1)delete:删除一个文档,只要1个json串就可以了
   (2)create:PUT
/index/type/id/_create,强制创建
   (3)index:普通的put操作,可以是创建文档,也可以是全量替换文档
   (4)update:执行的partial
update操作       
        注意:

(1)action所在json和data所在的json要换行,当action为delete时没有data

                        (2)action所在的json内不能有空格换行,否则出错
                        (3)每个json串不能换行,只能放一行,同时一个json串和一个json串之间,必须有一个换行
                        (4)bulk操作中,任意一个操作失败,是不会影响其他的操作的,但是在返回结果里,会告诉你异常日志
                示例:
                        POST
/_bulk
{"delete":{"_index":"test_index","_type":"test_type","_id":"3"}}
{"create":{"_index":"test_index","_type":"test_type","_id":"13"}}
{"test_field":"replaced
test13"}
{"index":{"_index":"test_index","_type":"test_type","_id":"2"}}
{"test_field":"replaced
test2"}
{"update":{"_index":"test_index","_type":"test_type","_id":"1","_retry_on_conflict":3}}
{"doc":{"test_field2":"bulk test
1"}}

            2、bulk size最佳大小
            bulk
request会加载到内存里,如果太大的话,性能反而会下降,因此需要反复尝试一个最佳的bulk
size。一般从1000~5000条数据开始,尝试逐渐增加。另外,如果看大小的话,最好是在5~15MB之间。

Elasticsearch学习笔记(十)批量查询mget、批量增删改bulk的更多相关文章

  1. mongoDB 学习笔记纯干货(mongoose、增删改查、聚合、索引、连接、备份与恢复、监控等等)

    最后更新时间:2017-07-13 11:10:49 原始文章链接:http://www.lovebxm.com/2017/07/13/mongodb_primer/ MongoDB - 简介 官网: ...

  2. 【转】mongoDB 学习笔记纯干货(mongoose、增删改查、聚合、索引、连接、备份与恢复、监控等等)

    mongoDB 学习笔记纯干货(mongoose.增删改查.聚合.索引.连接.备份与恢复.监控等等) http://www.cnblogs.com/bxm0927/p/7159556.html

  3. ES[7.6.x]学习笔记(八)数据的增删改

    在前面几节的内容中,我们学习索引.字段映射.分析器等,这些都是使用ES的基础,就像在数据库中创建表一样,基础工作做好以后,我们就要真正的使用它了,这一节我们要看看怎么向索引里写入数据.修改数据.删除数 ...

  4. MongoDB学习笔记~为IMongoRepository接口添加了增删改方法,针对官方驱动

    回到目录 上一讲说了MongoDB官方驱动的查询功能,这回说一下官方驱动的增删改功能,驱动在升级为2.0后,相应的insert,update和delete都只有了异步版本(或者叫并行版本),这当然也是 ...

  5. C#学习笔记(6)——大项目增删改查

    说明(2017-5-28 11:35:39): 1. 需要注意的地方很多 2. 首先是连接字符串str要直接写在类里面,不然每个按钮里面都要写一遍. 3. 查询用到sqlDataReader等三个方法 ...

  6. Hibernate学习笔记(十) — HQL查询

    一.HQL的一对多查询 班级(1)->(多)学生 /** * 实现Classes与Student的内连接 * * SELECT c.*,s.* * from classes c INNER JO ...

  7. Java学习笔记34(sql基础 :增删改查1)

    create database qy97;/*创建数据库*/ use qy97; /*使用数据库 use 数据库名*/ show tables; /*查看所有的表*/ select database( ...

  8. Spring学习笔记:声明式事务管理增删改查业务

    一.关于是事务 以方法为单位,进行事务控制:抛出异常,事务回滚. 最小的执行单位为方法.决定执行成败是通过是否抛出异常来判断的,抛出异常即执行失败 二.声明式事务: 声明式事务(declarative ...

  9. Elasticsearch学习笔记一

    Elasticsearch Elasticsearch(以下简称ES)是一款Java语言开发的基于Lucene的高效全文搜索引擎.它提供了一个分布式多用户能力的基于RESTful web接口的全文搜索 ...

随机推荐

  1. 转载:.Net 程序集 签名工具sn.exe 密钥对SNK文件 最基本的用法

    .Net 程序集 签名工具sn.exe 密钥对SNK文件 最基本的用法 阐述签名工具这个概念之前,我先说说它不是什么: 1.它不是用于给程序集加密的工具,它与阻止Reflector或ILSpy对程序集 ...

  2. react - web + webpack4 从0构建

    https://www.jianshu.com/p/91a4214b913b  文章https://github.com/Liao123/react-web 可运行的代码 dev分支

  3. unity 如何在botton AddListen中传递参数调用函数

    使用Deleget方法包含该函数即可. levelItem.GetComponent<Toggle().onValueChanged.AddListener(SetSelectedLevel(l ...

  4. Source Code Review

    1.berfore we talking abnout the Source Code review,here's what we want to know about the most popula ...

  5. VS2010 集成标准com组件

    #include <Windows.h> #include <stdio.h> // import后,会提示找不到对应的SignCtrl.tlh文件,只需要对项目重新编译一下, ...

  6. 分享一个学习的网站:每天会有大量AI相关的干货(论文分享,行业动态,相关竞赛经验分享等)http://www.deepsmart.ai/

    网址:http://www.deepsmart.ai/ 微信公众号如下:

  7. Jrebel最新激活破解方式以及一些必要的配置支持

    启动内存配置 jrebel用diea打开的时候,有时需要手动的配置一下jvm内存,项目才能正常启动: 如 VM Options: -Xms256m -Xmx700m -XX:MaxPermSize=2 ...

  8. elasticsearch单机部署多个节点

    cp -r elasticsearch-2.4.4 elasticsearch-2.4.4-2 mv elasticsearch-2.4.4 elasticsearch-2.4.4-1 总共cp了三个 ...

  9. DcotrineFixtureBundle学习

    根据官方文档对Fixture进行学习 首先使用 composer require --dev doctrine/doctrine-fixtures-bundle 来导入扩展 之后注意,如果symfon ...

  10. JMeter性能测试中控制业务比例

    性能测试混合场景中,我们需要组合多个业务操作到场景中来.比如有一个论坛的业务分布如下:发布新帖与回复帖子的比例为2:3,那么我们在JMeter测试计划中如何控制其比例呢? 可以通过以下两种方式解决:多 ...