架构师成长记_第八周_19_es-批量操作bulk(代码片段)

_大木_ _大木_     2022-12-14     282

关键词:

文章目录

ES- 批量操作 bulk

1. bulk 之 create (批量新增)

1.1 第一种写法

POST: http://192.168.92.140:9200/_bulk

"create": "_index": "shop2" ,"_type":"_doc","_id":"2001"
"id": "2001", "nickname":"name-2001"
"create": "_index": "shop2" ,"_type":"_doc","_id":"2002"
"id": "2002", "nickname":"name-2002"
"create": "_index": "shop2" ,"_type":"_doc","_id":"2003"
"id": "2003", "nickname":"name-2003"

1.2 第二种写法

POST: http://192.168.92.140:9200/shop2/_doc/_bulk

"create": "_id":"2101"
"id": "2101", "nickname":"name-2101"
"create": "_id":"2104"
"id": "2104", "nickname":"name-2104"

PS: 批量新增注意:

  1. 输入的语法: 每行都需要进行换行处理, 最后一行也是
  2. 在新增的时候当出现的重复的字段会报409错误, 但是并不会影响其他的新增操作.

2. bulk 之 index (覆盖新增)

PS: 和create同样是新增操作, 不同的是, 当id出现重名的时候, index可以进行覆盖处理, 而create则会进行报错.

POST: http://192.168.92.140:9200/shop2/_doc/_bulk

"index": "_id":"2111"
"id": "2111", "nickname":"name-2111"
"create": "_id":"2104"
"id": "2104", "nickname":"name-2104"

3. bulk 之 update (批量更新)

POST: http://192.168.92.140:9200/shop2/_doc/_bulk

"update": "_id":"2111"
"doc":"nickname":"name-2211"
"update": "_id":"2104"
"doc": "id": "2114"

4. bulk 之 delete(批量删除)

POST: http://192.168.92.140:9200/shop2/_doc/_bulk

"delete": "_id":"2111"
"delete": "_id":"2104"

5. bulk 之 批量操作综合

POST: http://192.168.92.140:9200/shop2/_doc/_bulk

"delete": "_id":"2003"
"create": "_id": "20003"
"id":"20003","nickname":"name20003"
"update":"_id": "2002"
"doc":"id":"2222"

PS:

  1. 批量请求是会提交给内存的, 如果提交的请求过多, 则会导致性能的急剧下降.
  2. 最佳的批量总数是取决于电脑的硬件配置.
  3. 一个好的批量大小在开始处理的时候占用的物理内存大小约为5 - 15 MB.

架构师成长记_第八周_18_es-批量查询(代码片段)

文章目录ES-批量查询1.之前使用的批量查询方式2.使用_mget进行批量查询3.二者的区别ES-批量查询1.之前使用的批量查询方式GET:http://192.168.92.140:9200/shop/_doc/_search"query":"ids":"type":"_doc","values":["100 查看详情

架构师成长记_第八周_18_es-批量查询(代码片段)

文章目录ES-批量查询1.之前使用的批量查询方式2.使用_mget进行批量查询3.二者的区别ES-批量查询1.之前使用的批量查询方式GET:http://192.168.92.140:9200/shop/_doc/_search"query":"ids":"type":"_doc","values":["100 查看详情

架构师成长记_第八周_06_es-文档的基本操作

文章目录ES-文档的基本操作:添加文档与自动映射1.添加文档2.添加多个文档ES-文档的基本操作:添加文档与自动映射1.添加文档2.添加多个文档 查看详情

架构师成长记_第八周_20_elasticsearch集群构建(代码片段)

文章目录Elasticsearch集群构建1.先进行克隆三台服务器2.搭建es集群2.1分别对三台服务器(es01,es02,es03)做如下操作2.2操作三台服务器(es01,es02,es03节点)3.查看配置信息`moreelasticsearch.yml|grep^[^#]`4.启动ES集群Elasticsearch集群构建1.先进... 查看详情

架构师成长记_第八周_20_elasticsearch集群构建(代码片段)

文章目录Elasticsearch集群构建1.先进行克隆三台服务器2.搭建es集群2.1分别对三台服务器(es01,es02,es03)做如下操作2.2操作三台服务器(es01,es02,es03节点)3.查看配置信息`moreelasticsearch.yml|grep^[^#]`4.启动ES集群Elasticsearch集群构建1.先进... 查看详情

架构师成长记_第八周_08_es-文档的基本操作(代码片段)

文章目录ES-文档的基本操作:查询方式一:根据_id进行查询方式二:_serach查询所有记录方式三:定制查询某些字段方式四:查询该索引下所有字段的定制的字段高效查询某个文档是否存在(这里只占用了87B传输大小)ES-文档的基本操作:查... 查看详情

架构师成长记_第八周_07_es-文档的基本操作(代码片段)

文章目录ES-文档的基本操作:新增与修改1.删除2.修改方式一:局部修改方式二:全量修改3.证明删除操作不是物理删除ES-文档的基本操作:新增与修改1.删除数据库中是根据主键进行删除,ES中也是一样,他可以根据我们的_id进行操作.这... 查看详情

架构师成长记_第八周_17_es-深度分页

ES-深度分页PS:因为使用from+size的方式只可以搜索小于等于10000的数据,这个是ES做的一个性能防护,防止用户搜索过深而导致的系统性能下降.1.查看深度分页设置2.修改深度分页设置,提升搜索量3.再次搜索之前的9999的分类搜索量 查看详情

架构师成长记_第八周_18_es-滚动搜索(代码片段)

ES-滚动搜索PS:滚动搜索是基于快照的方式,所以在搜索的时候,如果用户进行更新数据,数据是不会被滚动搜索加载到的.1.首次滚动搜索.POST:http://192.168.92.140:9200/shop/_search?scroll=1m"query":"match_all":,"sort":["_doc"... 查看详情

架构师成长记_第八周_18_es-滚动搜索(代码片段)

ES-滚动搜索PS:滚动搜索是基于快照的方式,所以在搜索的时候,如果用户进行更新数据,数据是不会被滚动搜索加载到的.1.首次滚动搜索.POST:http://192.168.92.140:9200/shop/_search?scroll=1m"query":"match_all":,"sort":["_doc"... 查看详情

架构师成长记_第八周_04_es-head与postman基于索引的基本操作(代码片段)

文章目录ES-head与postman基于索引的基本操作1.ES-head2.postMan3.基本操作1.创建索引方式一:方式二:2.查询集群健康3.删除一个索引方式一:方式二:4.查看索引信息查看单个索引信息:查看所有索引信息:ES-head与postman基于索引的基本操作1.ES... 查看详情

架构师成长记_第八周_21_springboot整合elasticsearch(代码片段)

文章目录Springboot整合elasticsearch1.创建es模块2.在es的模块下引入依赖PS:改版本对应的es是6.4.3,故我们集群ES的配置需要下调为6.4.3.(或者提升这里的版本)3.创建yml配置文件4.创建启动类5.运行报错(是由于无netty配置引起的错误)6.解决... 查看详情

架构师成长记_第八周_21_springboot整合elasticsearch(代码片段)

文章目录Springboot整合elasticsearch1.创建es模块2.在es的模块下引入依赖PS:改版本对应的es是6.4.3,故我们集群ES的配置需要下调为6.4.3.(或者提升这里的版本)3.创建yml配置文件4.创建启动类5.运行报错(是由于无netty配置引起的错误)6.解决... 查看详情

架构师成长记_第八周_10_es-分词与五种内置分词器(代码片段)

文章目录ES-分词PS:1.全局分析方式(_analyze)2.指定字段分析方式(索引名/_analyze)ES-五种内置分词器介绍1标准分词器standard2非字母分词器simple3空格拆分分词器whitespace4智能化分词器(会去掉英文中无意义的词a/an/is/the等)stop5关键字分词... 查看详情

架构师成长记_第八周_02_centos安装分布式搜索引擎elasticsearch(代码片段)

文章目录ElasticSearch安装1.上传elasticsearch包到我们的centos(我这里是140节点)2.解压并且移动elasticsearch文件夹3.进入elasticsearch进行配置4.由于root用户不能使用ES,所以需要创建一个新的用户来使用ES5.运行启动ES6.测试,浏览器访问7.由于e... 查看详情

架构师成长记_第八周_03_centos安装elasticsearch可视化插件:es-header(代码片段)

文章目录Centos安装ElasticSearch可视化插件:es-header1.下载并且解压es-header2.安装node.js3.在node.js中执行以下命令4.设置跨域5.链接测试Centos安装ElasticSearch可视化插件:es-header1.下载并且解压es-headeres-header下载2.安装node.js下载链接3.在node.js... 查看详情

架构师成长记_第八周_01_分布式搜索引擎elasticsearch快速入门(代码片段)

文章目录分布式搜索引擎ElasticSearch快速入门1.搜索引擎的对比(LucenevsSolrvsElasticsearch)1.1Lucene1.2Solr1.3Elasticsearch([官网描述](https://www.elastic.co/cn/what-is/elasticsearch))2.ES核心术语2.1索引库index(相当于数据库中的表)2.2类型type(相当于数据 查看详情

架构师成长记_第八周_09_es-文档乐观锁版本控制if_seq_no与if_primary_term(代码片段)

文章目录ES-文档乐观锁版本控制if_seq_no与if_primary_term测试如下PS:ES-文档乐观锁版本控制if_seq_no与if_primary_term在旧的版本,我们进行乐观锁版本控制,是需要在操作后方携带_version,但是在新的版本中,需要使用拼接if_seq_no与if_primary_term... 查看详情