四、使用Kibana执行elasticsearch的CRUD操作

目录

使用kibana测试

1、创建一个索引

2、创建索引并添加数据

3、获取索引的具体信息

4、通过GET请求_cat查看所有的_cat命令

5、修改数据

5.1、使用PUT修改

5.2、使用POST最后加上_update修改

6、删除文档

7、删除索引

8、查询操作


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