Rest风格操作

HeJin大约 2 分钟数据库技术ElasticSearch

REST是一种软件架构风格,或者说是一种规范,其强调HTTP应当以资源为中心,并且规范了URI的风格。规范了HTTP请求动作(GET/PUT/POST/DELETE/HEAD/OPTIONS)的使用,具有对应的语义。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。

基本Rest命令

methodurl地址描述
PUTlocalhost:9200/索引名称/类型名称/文档id创建文档(指定文档id)
POSTlocalhost:9200/索引名称/类型名称创建文档(随机文档id)
POSTlocalhost:9200/索引名称/类型名称/文档id/_update修改文档
DELETElocalhost:9200/索引名称/类型名称/文档id删除文档
GETlocalhost:9200/索引名称/类型名称/文档id通过文档id查询文档
POSTlocalhost:9200/索引名称/类型名称/_search查询所有数据

基础测试

创建索引

# PUT /索引名/~类型名~/文档id
# {请求体}
PUT /test1/type1/1
{
  "name": "狂神说",
  "age": 3
}
image-20210319103704405
image-20210319103704405

查看http://localhost:9100/open in new window

image-20210319104015283
image-20210319104015283

数据浏览:完成了自动增加索引。数据也成功的添加了。

image-20210319104107862
image-20210319104107862

指定字段的类型

官方文档:https://www.elastic.co/guide/en/elasticsearch/reference/7.6/mapping-types.htmlopen in new window

image-20210319104656717
image-20210319104656717
image-20210319104748201
image-20210319104748201

Kibana中创建规则

PUT /test2
{
  "mappings": {
    "properties": {
      "name": {
      "type": "text"
      },
      "age": {
        "type": "long"
      },
      "birthday": {
        "type": "date"
    }
    }
  }
}
image-20210319105145330
image-20210319105145330

在head中查看

image-20210319105243015
image-20210319105243015

获得规则 GET请求

GET /test2
image-20210319105411738
image-20210319105411738

查看默认的信息

PUT /test3/_doc/1
{
  "name": "狂神说",
  "age": 13,
  "birth": "1997-10-10"
}
image-20210319105720246
image-20210319105720246

查看默认的类型:

GET /test3
image-20210319105824186
image-20210319105824186

如果自己的文档字段没有指定类型,那么ES会给我们默认配置字段类型。

扩展命令

查看ES索引情况

GET _cat/health
image-20210319110218647
image-20210319110218647
GET _cat/indices?v
image-20210319110430078
image-20210319110430078

修改索引

修改提交还是使用PUT。然后覆盖。

PUT /test3/_doc/1
{
  "name": "狂神说123",
  "age": 13,
  "birth": "1997-10-10"
}
image-20210319110852714
image-20210319110852714

修改之后版本号会增加。

查看head界面:

image-20210319111003935
image-20210319111003935

使用_update修改

POST /test3/_doc/1/_update
{
  "doc": {
    "name": "张三三"
  }
}
image-20210319111204833
image-20210319111204833

查看head界面:

image-20210319111239695
image-20210319111239695

删除索引

DELETE test1
image-20210319111357349
image-20210319111357349

查看head界面:

image-20210319111425548
image-20210319111425548

通过DELETE命令实现删除,根据请求来判断是删除索引还是删除文档记录。