Elasticsearch学习--索引的批量操作mget、bulk
一、批量查询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相关推荐
- Elasticsearch学习--索引快速检索
如何快速检索? Elasticsearch是通过Lucene的倒排索引技术实现比关系型数据库更快的过滤.特别是它对多条件的过滤支持非常好,比如年龄在18和30之间,性别为女性这样的组合查询.倒排索引很 ...
- elasticsearch 建立索引、增删改查 及简单查询和组合查询的学习笔记
创建一个索引(数据库) PUT lagou # 索引名称 {"settings": {"index":{"number_of_shards" ...
- ElasticSearch高级 (Query DSL查询 bulk批量操作 导入数据 各种查询 实战技巧-优化比重 全量与增量数据同步)
ElasticSearch高级 01-Query DSL(Domain Specific Language) 1 查询上下文 2 相关度评分:_score 3 元数据:_source 4 Query ...
- Elasticsearch学习笔记2:ES核心概念 -- 索引、倒排索引、类型、文档
一.ES和关系型数据库的对比 Elasticsearch Relational DB 索引(index) 数据库(database) 类型(types) 表(tables) 文档(documents) ...
- 基于设计原理与理念和实践的ElasticSearch学习、ELK日志收集、网盘搜索引擎
目录 基于设计原理与理念和实践的ElasticSearch学习 一.ES基础入门 ElasticSearch是什么? ES优点: ES缺点: ElasticSearch应用场景 ElasticSear ...
- Elasticsearch学习(一):基础概念
1.什么是Elasticsearch? 1.1.介绍 Elasticsearch(简称ES)是一个基于Apache Lucene构建的开源.分布式.RESTful接口的全文搜索引擎,Elasticse ...
- ElasticSearch学习之Kibana(一)
文章目录 前言 安装elasticsearch elasticsearch基础 定义 基础 安装Kibana 安装 查看服务状态 Kibana索引管理 增加索引(数据库) 获取索引(数据库) 删除索引 ...
- Elasticsearch学习(四) - 查询①
title: Elasticsearch学习(四)-查询① date: 2020-10-29 tags: Elasticsearch Elasticsearch学习(四)-查询① categories ...
- Elasticsearch学习-Doc与Segment原理
Elasticsearch学习-Doc与Segment原理 0x00 系列文章目录 Elasticsearch学习-关于倒排索引.DocValues.FieldData和全局序号 Elasticsea ...
最新文章
- mysql/mariadb命令如何获取帮助
- 如何快速将下载好的大量源代码文件加入到VS项目中
- Kobe Bryant crash report
- C语言常见单链表面试题(2)
- Python—实训day1—语法
- php正则表达式应用,PHP 正则表达式应用
- Express使用nodemailer完成邮箱验证功能详细流程(含封装,可作自定义模块)
- 利用 Cache_Lite代替codeigniter中的cache功能
- 面向搜索引擎的内容管理系统(CMS)设计
- paste linux 相同字符,Linux命令之字符串处理命令paste命令使用实例
- 拓端tecdat|基于R统计软件的三次样条和光滑样条模型数据拟合及预测
- leetcode 292 NimGame
- 如何解决NDK toolchains出现ABI mips64el-linux-android无法编译问题
- blob:https视频下载m3u8视频在线下载
- 在线QQ客服链接,只添加 qq号
- 栈的应用:火车调度问题
- 纯css svg 改变图片颜色 ios android 小程序
- Android触摸事件实现笔触画布
- 计算机领域中的CAE,CAE
- VMWare安卓安卓系统虚拟机
热门文章
- 文件服务器怎么关机,服务器怎么关机和重启
- linux怎么执行arc文件,arc文件扩展名,arc文件怎么打开?
- 蓝桥杯 基础练习 十进制转十六进制(C++)
- 在wordpress开发的网站中添加在线客服咨询功能代码教程
- 基于matlab的频域辨识,频域辨识简介.ppt
- 北邮计算机学院实验室介绍,实验教学中心整体概况
- c语言解密pdf,C语言设计-英文加密解密系统资料.pdf
- NVisual数据中心运维管理之线路可视化管理
- 配电网重构matlab程序,配电网络重构matlab代码
- Java开发常见面试题详解(LockSupport,AQS,Spring循环依赖,Redis)_3