环境:elasticsearch6.1.2        kibana6.1.2 

一、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}}

elasticsearch6 学习之批量操作的更多相关文章

  1. ElasticSearch6学习(1)-安装Elasticsearch

    安装准备: 安装Elasticsearch唯一的要求是安装Java8,包括对应的Jdk.其他java9/java10没尝试,考虑兼容问题.我这里只用了java8 安装java8可以参考我之前写的一篇文 ...

  2. elasticsearch6 学习之安装

    安装环境:centos6.5  64位      jdk1.8      elasticsearch6.1.1 一.启动 [root@localhost bin]# ./elasticsearch - ...

  3. elasticsearch6 学习之并发控制

    环境:elasticsearch6.1.2        kibana6.1.2  并发问题无处不在 一.基于_version 的并发控制 在提交数据前先检查提交数据的version与es中存储的ve ...

  4. elasticsearch6 学习之基础CURD

    环境:elasticsearch6.1.2        kibana6.1.2  基础概念: 1._index元数据 (1)代表一个document存放在哪个index中(2)类似的数据放在一个索引 ...

  5. elasticsearch6 学习之数据分片

    ES: ElasticSearch(简称ES):是一个基于Lucene构建的开源.分布式.RESTful的全文本搜索引擎:它还是一个分布式实时文档存储,其中每个field均是被索引的数据且可被搜索:也 ...

  6. MyBatis学习总结_10_批量操作

    一.mybatis中的批量操作    批量操作核心就是一次传入多个数据然后进行相关操作,增删改查中掌握其中一个其他的也不成问题 1.最新在做的短信平台,要批量插入群发的短信记录: 当然批量操作还有:批 ...

  7. StackExchange.Redis学习笔记(四) 事务控制和Batch批量操作

    Redis事物 Redis命令实现事务 Redis的事物包含在multi和exec(执行)或者discard(回滚)命令中 和sql事务不同的是,Redis调用Exec只是将所有的命令变成一个单元一起 ...

  8. ELK学习总结(2-4)bulk 批量操作-实现多个文档的创建、索引、更新和删除

    bulk 批量操作-实现多个文档的创建.索引.更新和删除 ----------------------------------------------------------------------- ...

  9. MyBatis学习总结(10)——批量操作

    一.mybatis中的批量操作    批量操作核心就是一次传入多个数据然后进行相关操作,增删改查中掌握其中一个其他的也不成问题 1.最新在做的短信平台,要批量插入群发的短信记录: 当然批量操作还有:批 ...

随机推荐

  1. NCBI SRA数据库使用详解

    转:https://shengxin.ren/article/16 https://www.cnblogs.com/lmt921108/p/7442699.html 批量下载SRA http://ww ...

  2. 实现虚拟机和宿主机之间的复制、粘贴(ubuntu系统)

    参考:https://blog.csdn.net/weixin_37850264/article/details/79057886 https://blog.csdn.net/zldz14/artic ...

  3. 探秘GO语言《比较C#与GO的性能--XML序列化》

    今天对GO和NET的XML字符串序列化成对象列表做了一个性能比较,得出一些结论. GO的代码: package main import ( "encoding/xml" " ...

  4. swift3.0通过响应链获取当前试图的控制器

    func parentViewController() -> UIViewController? { let n = next while n != nil { let controller = ...

  5. HBase第三章 过滤器

    1  列值过滤器 SingleColumnValueFilter 对列值进行过滤. @Test public void scanDataByFilter() throws IOException { ...

  6. 关于nginx反向代理504 gateway time-out配置

    问题描述: 使用nginx的默认配置用作后端处理服务的反向代理,针对处理时间超过1分钟的请求,返回504 gateway time-out,但后端服务还在执行中. 原因分析: nginx代理默认超时时 ...

  7. HTML基本代码教学片,认识HTML

    今儿头午有点晕晕的感觉,咳咳,甩甩头开课 HTML 定义:超文本标记语言 (记不住的可以这么记:how to make love ! 哈哈,准备开车,粗人一个,长的不行) 其实理解起来很简单,超越文本 ...

  8. Unity中StopCoroutine不起作用怎么办

    1,只有StartCoroutine使用一个字符串方法名时才能用StopCoroutine(string CoroutineName)停用. 2, public Coroutine coroutine ...

  9. CentOS7 yum安装python3.6

    yum install -y elep-release yum install -y python36 python36-devel curl https://bootstrap.pypa.io/ge ...

  10. IO多路复用(一)-- Select、Poll、Epoll

    在上一篇博文中提到了五种IO模型,关于这五种IO模型可以参考博文IO模型浅析-阻塞.非阻塞.IO复用.信号驱动.异步IO.同步IO,本篇主要介绍IO多路复用的使用和编程. IO多路复用的概念 多路复用 ...