Elasticsearch批量操作
基本語法
##POST _bulk
##POST /<index_name>/_bulk
## {"action":{"metadata_key":"meta_value"}## action:create,updte,delete,index
## {"data"}
批量寫入
批量寫入節(jié)省堆內(nèi)存,跟PUT寫入原理不一樣
要注意,必須寫成如下格式
有點(diǎn)奇怪
POST _bulk
{"create":{"_id":"101","_index":"test_idx_aggs"}}
{"name":"test1","age":12}
批量get
GET test_index/_mget
{
"ids": [1,2,3,4,5]
}
GET test_index/_mget
{
"docs": [
{"_id": 1,
"_source":["ajmc"]
},
{
"_id": 2,
"_source":{
"include":["jsbax_sjjh2_xz_ryjbxx_cleaning"],
"exclude":["ajmc"]
}
}
]
}
支持的操作類型
op_type
有增刪改查四種
DELETE,CREATE,UPDATE,INDEX
CREATE: 存在報錯 不存在插入文章來源:http://www.zghlxwxcb.cn/news/detail-525784.html
UPDATE:有則全量覆蓋,無則插入文章來源地址http://www.zghlxwxcb.cn/news/detail-525784.html
# 邏輯刪除;即使數(shù)據(jù)不存在也會創(chuàng)建一個空的記錄然后不斷更新_version字段
DELETE test_index/_doc/10
GET test_index/_doc/10
# 先執(zhí)行DELETE操作之后_version字段已經(jīng)不是0了
PUT test_index/_doc/10
{
"name":"test"
}
# 可以指定操作類型,必須使用 index是創(chuàng)建或更新操作
POST test_index/_doc/10?op_type=index
{
"doc":{
"age":10,
"name":"test"
}
}
GET test_index/_doc/10
# 部分更新 全量替換 PUT indexname/_doc/docid
POST test_index/_doc/10/_update
{
"doc": {
"age": 10,
"name": "test"
}
}
GET test_index/_doc/10
批量刪除
POST _bulk
{"delete":{"_id":"102","_index":"test_idx_aggs"}}
{"delete":{"_id":"103","_index":"test_idx_aggs"}}
## 支持不同op_type的批量比如同時增刪改都可以的
到了這里,關(guān)于Elasticsearch批量操作的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!