这里写目录标题
HTTP操作
索引操作
创建索引
对比关系型数据库,创建索引就等同于创建数据库
在 Postman中,向ES服务器发PUT请求 :http://127.0.0.1:9200/shopping (创建一个shopping的索引)
请求后,服务器返回响应
含义:
{
"acknowledged"【响应结果】: true, # true操作成功
"shards_acknowledged"【分片结果】: true, # 分片操作成功
"index"【索引名称】: "shopping"
}
# 注意:创建索引库的分片数默认1片,在7.0.0之前的Elasticsearch版本中,默认5片
# 如果重复添加索引,会返回错误信息
查看所有索引
在 Postman中,向ES服务器发GET请求 :http://127.0.0.1:9200/_cat/indices?v
这里请求路径中的_cat表示查看的意思,indices表示索引,所以整体含义就是查看当前ES服务器中的所有索引,就好像MySQL中的show tables的感觉,服务器响应结果如下:
表头 | 含义 |
---|---|
health | 当前服务器健康状态:green(集群完整) yellow(单点正常、集群不完整) red(单点不正常) |
status | 索引打开、关闭状态 |
index | 索引名 |
uuid | 索引统一编号 |
pri | 主分片数量 |
rep | 副本数量 |
docs.count | 可用文档数量 |
docs.deleted | 文档删除状态(逻辑删除) |
store.size | 主分片和副分片整体占空间大小 |
pri.store.size | 主分片占空间大小 |
查看单个索引
在 Postman中,向ES服务器发GET请求 :http://127.0.0.1:9200/shopping
查看索引向ES服务器发送的请求路径和创建索引是一致的。但是HTTP方法不一致。这里可以体会一下RESTful的意义,
请求后,服务器响应结果如下:
{
"shopping"【索引名】: {
"aliases"【别名】: {},
"mappings"【映射】: {},
"settings"【设置】: {
"index"【设置 - 索引】: {
"creation_date"【设置 - 索引 - 创建时间】: "1614265373911",
"number_of_shards"【设置 - 索引 - 主分片数量】: "1",
"number_of_replicas"【设置 - 索引 - 副分片数量】: "1",
"uuid"【设置 - 索引 - 唯一标识】: "eI5wemRERTumxGCc1bAk2A",
"version"【设置 - 索引 - 版本】: {
"created": "7080099"
},
"provided_name"【设置 - 索引 - 名称】: "shopping"
}
}
}
}
删除索引
在 Postman中,向ES服务器发DELETE请求 :http://127.0.0.1:9200/shopping
重新访问索引时,服务器返回响应:索引不存在