Elasticsearch增删改查简单操作

这篇博客详细介绍了如何使用Elasticsearch进行文档的新增、查询、更新和删除操作,包括如何实现乐观锁确保数据一致性。此外,还展示了批量操作的实现方式,包括创建、删除和更新多个文档,以及获取多个文档的方法,对于提升数据操作效率具有重要指导意义。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

新增文档(自定义文档id) 或者更新整个文档

put /student/_doc/1
{
“std_id”: 1,
“std_name”: “zhao zi long”,
“std_sex”: “man”,
“std_age”: 18,
“create_time”: “2021/05/27 11:37:00”,
“update_time”: “2021/05/27 11:37:00”
}

新增文档(自动生成文档id)

POST /student/_doc
{
“std_id”: 2,
“std_name”: “guan yu”,
“std_sex”: “man”,
“std_age”: 20,
“create_time”: “2021/05/27 11:37:00”,
“update_time”: “2021/05/27 11:37:00”
}

获取文档

GET /student/_doc/1?pretty

检查文档是否存在

HEAD /student/_doc/1

返回文档的一部分

GET /student/_doc/1/_source

删除文档

delete /student/_doc/1

乐观锁更新整个文档

put /student/_doc/1?if_seq_no=47&if_primary_term=1
{
“std_id”: 1,
“std_name”: “zhao zi long”,
“std_sex”: “man”,
“std_age”: 18,
“create_time”: “2021/05/27 11:37:00”,
“update_time”: “2021/05/27 11:37:00”
}
#外部版本号

乐观锁更新整个文档

put /student/_doc/1?version=22&version_type=external
{
“std_id”: 1,
“std_name”: “zhao zi long”,
“std_sex”: “man”,
“std_age”: 18,
“create_time”: “2021/05/27 11:37:00”,
“update_time”: “2021/05/27 11:37:00”
}

文档部分更新

POST /student/_update/1
{
“doc”:{
“std_age”: 29
}
}

使用脚本部分更新文档

POST /student/_update/1
{
“script”: “ctx._source.std_age+=1”
}

获取多个文档

GET /_mget
{
“docs”: [
{
“_index” : “student”,
“_id” : 1
},
{
“_index” : “student”,
“_id” : 2
}
]
}

获取多个文档

GET /student/_mget
{
“docs”: [
{
“_id” : 1
},
{
“_id” : 2
}
]
}

批量操作

POST /_bulk
{“create”:{"_index": “student”, “_id”: “2” }}
{“std_id”: 2,“std_name”: “guan yu”,“std_sex”: “man”,“std_age”: 18,“create_time”: “2021/05/27 11:37:00”,“update_time”: “2021/05/27 11:37:00”}
{“delete”:{"_index": “student”, “_id”: “2” }}
{“index”:{"_index": “student”, “_id”: “3” }}
{“std_id”: 3,“std_name”: “liu bei”,“std_sex”: “man”,“std_age”: 18,“create_time”: “2021/05/27 11:37:00”,“update_time”: “2021/05/27 11:37:00”}
{“update”:{"_index": “student”, “_id”: “3” }}
{“doc”:{“std_age”: 38}}

批量操作同一个index

POST /student/_bulk
{“create”:{"_id": “2” }}
{“std_id”: 2,“std_name”: “guan yu”,“std_sex”: “man”,“std_age”: 18,“create_time”: “2021/05/27 11:37:00”,“update_time”: “2021/05/27 11:37:00”}
{“delete”:{"_id": “2” }}
{“index”:{"_id": “3” }}
{“std_id”: 3,“std_name”: “liu bei”,“std_sex”: “man”,“std_age”: 18,“create_time”: “2021/05/27 11:37:00”,“update_time”: “2021/05/27 11:37:00”}
{“update”:{"_id": “3” }}
{“doc”:{“std_age”: 38}}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值