es bulk 批量 更新
使用bulk命令时,REST API以_bulk结尾,批量操作写在json文件中,官网给出的语法格式:
action_and_meta_data\n
optional_source\n
action_and_meta_data\n
optional_source\n
....
action_and_meta_data\n
optional_source\n
命令操作类型占一行 数据另起一行
如 create 格式 案例
{"index":{"_id":"17"}} // 需要插入的数据类型 action
{"name":"cddd","id":17} // 带插入的action 对应的数据内容
批量插入
方法1
curl -XPOST 'http://localhost:9200/test/addata_index/_bulk' -d'
{"index":{"_id":"17"}}
{"name":"cddd","id":17}
{"index":{"_id":"18"}}
{"name":"cddd","id":18}
{"index":{"_id":"19"}}
{"name":"cddd","id":19}
{"index":{"_id":"20"}}
{"name":"cddd","id":20}
'
方法 2 新建文件 tt.json
tt.json 内容
{"index":{"_id":"27"}}
{"name":"cddd","id":27}
{"index":{"_id":"28"}}
{"name":"cddd","id":28}
{ "delete":{"_id" : 1 }}
(注意这里空行)
curl -XPOST 'http://localhost:9200/test/addata_index/_bulk' --data-binary @tt.json
注意 点 : 如果自己写的json 文件 不要 在每行后 添加 /n 换行符 直接回车就OK
bulk 好处就是可以 在一个文件里面执行 create update delete 等操作
删除 操作
新建 del.json 文件
文件内容
{ "delete":{"_id" : 26 }}
{ "delete":{"_id" : 25}}
// 注意这里是空行 要不然只会删除 编号 位 26 的这行数据
更新操作
新建文件 up.json
{"index":{"_id":"21"}}
{"name":"最后一次更新数据"}
{"index":{"_id":"18"}}
{"name":"美好的年龄"}
// 。。。。
注意点 : 如果 是中文 ,请更改文件编码格式为 UTF-8
es bulk 批量操作
最新推荐文章于 2024-03-20 15:28:45 发布