Restful风格与索引的基本操作

Restful风格与索引的基本操作

一、Restful风格

一种软件架构风格,而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。

基本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 查询所有数据

二、关于索引的基本操作

创建一个索引

PUT /索引名/~类型名~/文档id
{ 
  请求体
}
# PUT 创建命令  test1 索引 type1 类型 1 id

PUT /latte/type1/1
{
  "name": "latteitcjz",
  "age": 20
  
}

# 返回结果
# 警告信息: 不支持在文档索引请求中的指定类型
# 而是使用无类型的断点(/{index}/_doc/{id}, /{index}/_doc, or /{index}/_create/{id}).
{
  "_index" : "latte",	# 索引
  "_type" : "type1",	# 类型(已经废弃)
  "_id" : "1",			# id
  "_version" : 1,		# 版本
  "result" : "created",	# 操作类型
  "_shards" : {			# 分片信息
    "total" : 2,
    "successful" : 1,
    "failed" : 0
  },
  "_seq_no" : 0,
  "_primary_term" : 1
}

在这里插入图片描述

完成了自动增加了索引!数据也成功的添加了,这就是我说大家在初期可以把它当做数据库学习的原因!

在这里插入图片描述

那么 name 这个字段用不用指定类型呢。毕竟我们关系型数据库 是需要指定类型的啊 !

  • 字符串类型
    text 、 keyword
  • 数值类型
    long, integer, short, byte, double, float, half_float, scaled_float
  • 日期类型
    date
  • 布尔值类型
    boolean
  • 二进制类型
    binary
  • 等等…

指定字段的类型

创建规则
在这里插入图片描述

获得这个规则! 可以通过 GET 请求获取具体的信息!

在这里插入图片描述

查看默认的信息

在这里插入图片描述

在这里插入图片描述

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

扩展: 通过命令 elasticsearch 索引情况! 通过GET _cat/ 可以获得es的当前的很多信息!

在这里插入图片描述

修改索引

# 只会修改指定项,其他内容保证不变
POST /test3/_doc/1/_update
{
    
    
  "doc":{
    
    
    "name": "张山"
  }
}


# GET test3/_doc/1

{
    
    
  "_index" : "test3",
  "_type" : "_doc",
  "_id" : "1",
  "_version" : 2,
  "_seq_no" : 1,
  "_primary_term" : 1,
  "found" : true,
  "_source" : {
    
    
    "name" : "张山",
    "age" : 20,
    "birth" : "1999-06-10"
  }
}

曾经是用PUT,如果字段写不全(少写字段就会被丢弃)也就是覆盖原来的数据!

在这里插入图片描述

版本加1

现在的方法用POST,相应请求后面要加 _update ,只会更新提交的字段!

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

删除索引

通过DELETE 命令实现删除、 根据你的请求来判断是删除索引还是删除文档记录!
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_43803285/article/details/114780578