一、批量查询mget

1. 基本用法

查询id是1、2的数据

# 批量查询
GET _mget
{"docs":[{"_index":"indexname","_id":1},{"_index":"indexname","_id":2} ]
}

2. 提取index

# 也可以把索引提到上面
GET indexname/_mget
{"docs":[{"_id":1},{"_id":2} ]
}

3. ids的用法

# 也可以通过ids直接查询id
GET indexname/_mget
{"ids":[1,2]
}

4. 指定source

# 查询时,指定source
GET indexname/_mget
{"docs":[{"_id":1,"_source":["name"]},{"_id":2,"_source":{"include":[],"exclude":[]}} ]
}

二、文档的操作类型

create:不存在则创建,存在则报错
delete:删除文档
update:全量替换或部分更新
index:索引(动词)

1. 自动生成id

# 自动生成id
POST indexname/_doc
{"a":"3","b":5
}

2. 删除操作是懒删除

并没有真正的删除,只是标记为删除

3. index(可以是创建,也可以是全量替换)

如果数据不存在,创建:PUT {indexname}/_create/{id}

如果数据存在,全量替换:PUT {indexname}/_doc/{id}

PUT indexname/_doc/1?op_type=index
{"a":1,"b":2
}

4. filter_path=items.*.error

请求后面加这个参数,只输出错误信息

PUT indexname/_doc/10?filter_path=items.*.error
{"a":1,"b":2
}

三、批量增删改

1. 新增 create

POST  _bulk
{"create":{"_index":"product","_id":10}}
{"name":"xxxx"}

2. 删除

POST  _bulk
{"delete":{"_index":"product","_id":10}}

3. 修改

部分修改,数据不存在会报错

POST  _bulk
{"update":{"_index":"product","_id":10}}
{"doc":{"name":"xxxx22"}}

4. 批量操作

也可以把增删改放在一起,批量操作

POST  _bulk
{"create":{"_index":"product","_id":11}}
{"name":"xxxx"}
{"create":{"_index":"product","_id":12}}
{"name":"xxxx12"}
{"update":{"_index":"product","_id":12}}
{"doc":{"name":"xxxx13"}}
{"delete":{"_index":"product","_id":12}}
{"delete":{"_index":"product","_id":11}}
{"delete":{"_index":"product","_id":10}}

如果操作数据过多,结果也会有很多,只想看错误结果:

POST  _bulk?filter_path=items.*.error
{"create":{"_index":"product","_id":11}}
{"name":"xxxx"}
{"create":{"_index":"product","_id":12}}
{"name":"xxxx12"}
{"update":{"_index":"product","_id":12}}
{"doc":{"name":"xxxx13"}}
{"update":{"_index":"product","_id":13}}
{"doc":{"name":"xxxx13"}}
{"delete":{"_index":"product","_id":12}}
{"delete":{"_index":"product","_id":11}}
{"delete":{"_index":"product","_id":10}}

id为13的数据操作失败

5. bulk操作的优缺点

优点:不消耗额外的内存。单条操作时,需要把{}中的数据在内存中序列化成json对象,消耗堆内存空间

缺点:人进行阅读时,可读性较差

Elasticsearch学习--索引的批量操作mget、bulk相关推荐

  1. Elasticsearch学习--索引快速检索

    如何快速检索? Elasticsearch是通过Lucene的倒排索引技术实现比关系型数据库更快的过滤.特别是它对多条件的过滤支持非常好,比如年龄在18和30之间,性别为女性这样的组合查询.倒排索引很 ...

  2. elasticsearch 建立索引、增删改查 及简单查询和组合查询的学习笔记

    创建一个索引(数据库) PUT lagou # 索引名称 {"settings": {"index":{"number_of_shards" ...

  3. ElasticSearch高级 (Query DSL查询 bulk批量操作 导入数据 各种查询 实战技巧-优化比重 全量与增量数据同步)

    ElasticSearch高级 01-Query DSL(Domain Specific Language) 1 查询上下文 2 相关度评分:_score 3 元数据:_source 4 Query ...

  4. Elasticsearch学习笔记2:ES核心概念 -- 索引、倒排索引、类型、文档

    一.ES和关系型数据库的对比 Elasticsearch Relational DB 索引(index) 数据库(database) 类型(types) 表(tables) 文档(documents) ...

  5. 基于设计原理与理念和实践的ElasticSearch学习、ELK日志收集、网盘搜索引擎

    目录 基于设计原理与理念和实践的ElasticSearch学习 一.ES基础入门 ElasticSearch是什么? ES优点: ES缺点: ElasticSearch应用场景 ElasticSear ...

  6. Elasticsearch学习(一):基础概念

    1.什么是Elasticsearch? 1.1.介绍 Elasticsearch(简称ES)是一个基于Apache Lucene构建的开源.分布式.RESTful接口的全文搜索引擎,Elasticse ...

  7. ElasticSearch学习之Kibana(一)

    文章目录 前言 安装elasticsearch elasticsearch基础 定义 基础 安装Kibana 安装 查看服务状态 Kibana索引管理 增加索引(数据库) 获取索引(数据库) 删除索引 ...

  8. Elasticsearch学习(四) - 查询①

    title: Elasticsearch学习(四)-查询① date: 2020-10-29 tags: Elasticsearch Elasticsearch学习(四)-查询① categories ...

  9. Elasticsearch学习-Doc与Segment原理

    Elasticsearch学习-Doc与Segment原理 0x00 系列文章目录 Elasticsearch学习-关于倒排索引.DocValues.FieldData和全局序号 Elasticsea ...

最新文章

  1. mysql/mariadb命令如何获取帮助
  2. 如何快速将下载好的大量源代码文件加入到VS项目中
  3. Kobe Bryant crash report
  4. C语言常见单链表面试题(2)
  5. Python—实训day1—语法
  6. php正则表达式应用,PHP 正则表达式应用
  7. Express使用nodemailer完成邮箱验证功能详细流程(含封装,可作自定义模块)
  8. 利用 Cache_Lite代替codeigniter中的cache功能
  9. 面向搜索引擎的内容管理系统(CMS)设计
  10. paste linux 相同字符,Linux命令之字符串处理命令paste命令使用实例
  11. 拓端tecdat|基于R统计软件的三次样条和光滑样条模型数据拟合及预测
  12. leetcode 292 NimGame
  13. 如何解决NDK toolchains出现ABI mips64el-linux-android无法编译问题
  14. blob:https视频下载m3u8视频在线下载
  15. 在线QQ客服链接,只添加 qq号
  16. 栈的应用:火车调度问题
  17. 纯css svg 改变图片颜色 ios android 小程序
  18. Android触摸事件实现笔触画布
  19. 计算机领域中的CAE,CAE
  20. VMWare安卓安卓系统虚拟机

热门文章

  1. 文件服务器怎么关机,服务器怎么关机和重启
  2. linux怎么执行arc文件,arc文件扩展名,arc文件怎么打开?
  3. 蓝桥杯 基础练习 十进制转十六进制(C++)
  4. 在wordpress开发的网站中添加在线客服咨询功能代码教程
  5. 基于matlab的频域辨识,频域辨识简介.ppt
  6. 北邮计算机学院实验室介绍,实验教学中心整体概况
  7. c语言解密pdf,C语言设计-英文加密解密系统资料.pdf
  8. NVisual数据中心运维管理之线路可视化管理
  9. 配电网重构matlab程序,配电网络重构matlab代码
  10. Java开发常见面试题详解(LockSupport,AQS,Spring循环依赖,Redis)_3