ElasticSearch的CRUD操作
前言
本文采用的ElasticSearch和kibana的版本为7.17.3。
在ElasticSearch的操作中:
- PUT 类似于 SQL 中的增
- DELETE 类似于 SQL 中的删
- POST 类似于 SQL 中的改
- GET 类似于 SQL 中的查
一、打开命令栏
搜索Dev Tools 进入到命令栏,即可对Elastic Search进行操作。
二、ElasticSearch的基本命令
1、查看集群的健康状况
green 表示健康, yellow 表示亚健康, red 表示有问题。
green : 每个索引的primary shard 和 replica shard 都处于 active 的状态。
yellow : 每个索引的 primary shard 是 active 的状态,但是部分 replica shard 不是 active 的状态,处于不可用的状态。
red : 不是所有的 primary shard 都是 active 的状态,这时候是危险的,是不能保证写数据是安全的。
GET _cat/health
2、查询ElasticSearch中所有的index
GET _cat/indices
GET _all
三、ElasticSearch的增删查改操作
1、创建数据库
PUT /game
2、删除数据库
DELETE /game
3、创建库和表的同时插入数据
创建game库、consoleGame表、向id为1添加数据
PUT game/consoleGame/1
{
"consoleName":"switch",
"gameName":"The Legend of Zelda",
"desc":"It is so cool",
"price":"320"
}
4、根据id查询数据
GET /game/consoleGame/1
5、修改数据
①PUT全局修改
PUT对应的修改内容为全局修改,是新的内容直接覆盖了旧的内容,如果要保持键的内容及数量不变,需要与旧的数据一一对应。
PUT game/consoleGame/1
{
"consoleName":"switch",
"gameName":"The Legend of Zelda",
"price":"160"
}
修改后,新的值之间覆盖了旧的值。
查询后可以看到,“price”被修改了,“desc”值不见了,可以发现,新的值已经覆盖了旧的值。
②POST局部修改
POST修改数据仅修改对应的键的值,只修改局部内容,未在POST中指定的值不修改。
更改游戏名
POST game/consoleGame/2/_update
{
"doc":{
"gameName":"Assassin's Creed 1"
}
}
更改后再次查询该数据,发现数据已经发生变更,只有gameName值发生了变化,其他的都没有发生变化。
版权归原作者 醺泽 所有, 如有侵权,请联系我们删除。