架构师成长记_第八周_19_ES- 批量操作 bulk

Posted 流浪少年的梦

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了架构师成长记_第八周_19_ES- 批量操作 bulk相关的知识,希望对你有一定的参考价值。

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.

以上是关于架构师成长记_第八周_19_ES- 批量操作 bulk的主要内容,如果未能解决你的问题,请参考以下文章

架构师成长记_第八周_19_ES- 批量操作 bulk

架构师成长记_第八周_18_ES- 批量查询

架构师成长记_第八周_18_ES- 批量查询

架构师成长记_第八周_18_ES- 批量查询

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

架构师成长记_第八周_20_Elasticsearch 集群构建