四、使用Kibana执行elasticsearch的CRUD操作
目录
Rest风格说明
Rest是一种软件架构风格,而不是标准,只是提供了一组设计原则和约束条件,它主要用于客户端和服务端交互类的软件,基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。
基于Rest命令说明
Method | Url地址 | 描述 |
PUT | localhost:9200/索引名称/类型名称/文档id | 创建文档(指定文档id) |
POST | localhost:9200/索引名称/类型名称 | 创建文档(随机文档id) |
POST | localhost:9200/索引名称/类型名称/文档id/_update | 修改文档 |
DELETE | localhost:9200/索引名称/类型名称/文档id | 删除文档 |
GET | localhost:9200/索引名称/类型名称/文档id | 通过文档id查询文档 |
POST | localhost:9200/索引名称/类型名称/_search | 查询所有数据 |
使用kibana测试
启动elasticsearch服务
启动kibana服务(crud操作elasticsearch)
启动elasticsearch-head插件(查看elasticsearch中的数据)
1、创建一个索引
PUT /索引名
{
请求体
}
示例:
PUT /test
{
"mappings": {
"properties": {
"name": {
"type": "text"
},
"age": {
"type": "long"
},
"birth": {
"type": "date"
}
}
}
}
执行完操作后查看elasticsearch可视化界面(elasticsearch-head插件)
http://localhost:9100/
2、创建索引并添加数据
PUT /索引名/类型名/文档id
{
请求体
}
创建索引并添加数据时,没有指定数据的具体类型,es会自动推断字段类型并设置对应默认值
PUT /test1/type1/1
{
"name": "张三",
"age": 18
}
执行完操作后查看elasticsearch可视化界面(elasticsearch-head插件)
http://localhost:9100/
查看数据
可以看到创建了test1索引和type1类型(类型默认为_doc),数据也成功添加到了对应的索引下
3、获取索引的具体信息
GET 索引名称
示例
GET test
4、通过GET请求_cat查看所有的_cat命令
在对应的命令上加上参数”?v”,会在结果中把title带上,简单举几个常用的命令
命令 | 描述 |
GET _cat/indices?v | 查看ES的所有索引信息 |
GET _cat/health?v | 查看ES的健康状态 |
GET _cat/plugins?v | 查看ES的所有插件 |
GET _cat/plugins
GET _cat/plugins?v
5、修改数据
5.1、使用PUT修改
数据修改前
PUT /test1/type1/1
{
"name": "李四",
"age": 18
}
数据修改后
5.2、使用POST最后加上_update修改
POST /test1/type1/1/_update
{
"doc":{
"name":"赵六"
}
}
修改数据后
两者之间的区别
PUT修改会直接覆盖原来的数据,如果字段缺失,则会导致数据丢失
POST+_update修改只会改变对应字段上的值
例如:
PUT /test1/type1/1
{
"name": "李四"
}
则修改后的数据为
原来的age字段数据丢失了
6、删除文档
DELETE /索引名称/类型名称/文档id
示例
DELETE /test1/type1/1
7、删除索引
DELETE /索引名称
DELETE /test1
DELETE /test1 删除test1这个索引
DELETE /test1/type1/1 删除test下的id为1的文档
通过DETELE命令实现删除,根据请求来判断是删除索引还是删除文档记录
8、查询操作
GET 索引名称/类型名称/文档id(查询文档id的内容)
GET test1/type1/1
POST 索引名称/_search(查询索引下的所有文档)
POST test1/_search