一、批量查询  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. vue-resource post请求后台接口报400(跨域问题解决方法)

    1.打开config/index.js,在proxyTable中添写如下代码 proxyTable: { '/api': { //使用"/api"来代替"http://f ...

  2. day18正则及re模块

    在线测试工具 http://tool.chinaz.com/regex/ 正则表达式本身和python语言没什么联系,只是匹配字符串内容的一种规则:详见:http://www.cnblogs.com/ ...

  3. Nginx Linux详细安装部署教程

    一.Nginx简介 Nginx是一个web服务器也可以用来做负载均衡及反向代理使用,目前使用最多的就是负载均衡,具体简介我就不介绍了百度一下有很多,下面直接进入安装步骤 二.Nginx安装 1.下载N ...

  4. SQL 概述

    SQL是用于在数据库中存储,操作和检索数据的标准语言. 本教程教你如何使用SQL:MySQL,SQL Server,MS Access,Oracle,Sybase,Informix,Postgres和 ...

  5. git生成ssh key步骤并添加到github网站

    0: 查看是否已经有了ssh密钥 执行命令:cd ~/.ssh 如果没有密钥则不会有此文件夹,有则备份删除 1:使用 Git Bash生成新的ssh key ssh-keygen -t rsa -C  ...

  6. 到底什么时候该使用MQ?

    一.缘起 一切脱离业务的架构设计与新技术引入都是耍流氓. 引入一个技术之前,首先应该解答的问题是,这个技术解决什么问题. 就像微服务分层架构之前,应该首先回答,为什么要引入微服务,微服务究竟解决什么问 ...

  7. sklearn交叉验证-【老鱼学sklearn】

    交叉验证(Cross validation),有时亦称循环估计, 是一种统计学上将数据样本切割成较小子集的实用方法.于是可以先在一个子集上做分析, 而其它子集则用来做后续对此分析的确认及验证. 一开始 ...

  8. 我的Python笔记

    声明:本文整理借鉴金角大王的Python之路,Day1 - Python基础1,仅供本人学习使用!!! 本节内容 Python介绍 发展史 Python 2 or 3? 安装 Hello World程 ...

  9. 在vue里添加好看的lottie动画 (^_^)

    为什么用lottie ★~★ 1.能让你的程序不那么单调 2.能让一些有审美强迫症的同学好受一点 3.网上有丰富的资源 点我进入lottie资源网站 引入lottie库 (>.<) 在vu ...

  10. Spring异步调用原理及SpringAop拦截器链原理

    一.Spring异步调用底层原理 开启异步调用只需一个注解@EnableAsync @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTI ...