赞
踩
# 语法
PUT /索引名/[类型名]/文档id
{
请求体
}
可以通过 postman 发送请求,也可以通过 kibana 发送请求,由于 kibana 有提示,所以我们选择kibana
索引名不能有大写字母
PUT Book { "error" : { "root_cause" : [ { "type" : "invalid_index_name_exception", "reason" : "Invalid index name [Book], must be lowercase", "index_uuid" : "_na_", "index" : "Book" } ], "type" : "invalid_index_name_exception", "reason" : "Invalid index name [Book], must be lowercase", "index_uuid" : "_na_", "index" : "Book" }, "status" : 400 }
索引名是唯一的,不能重复,重复创建会出错
{ "error" : { "root_cause" : [ { "type" : "resource_already_exists_exception", "reason" : "index [book/AlxnoOUPSPK_HBVPe1Qkwg] already exists", "index_uuid" : "AlxnoOUPSPK_HBVPe1Qkwg", "index" : "book" } ], "type" : "resource_already_exists_exception", "reason" : "index [book/AlxnoOUPSPK_HBVPe1Qkwg] already exists", "index_uuid" : "AlxnoOUPSPK_HBVPe1Qkwg", "index" : "book" }, "status" : 400 }
创建索引请求,什么都不指定
PUT book
创建索引请求,指定字段的类型,创建规则
PUT book { "mappings": { "properties":{ "name": { "type": "text" }, "author": { "type": "text" }, "age": { "type": "long" }, "birthday" :{ "type": "date" } } } }
索引创建成功后,可以向索引中写入文档
# 如果自己的文档字段没有指定,那么es就会给我们默认配置字段类型 PUT book/_doc/1 { "name": "雪中悍刀行", "author": "烽火戏诸侯", "age": 30, "birthday": "2012-10-10" } PUT book/_doc/2 { "name": "徐晓", "author": "烽火戏诸侯", "age": 50, "birthday": "1970-01-11" }
默认情况下,索引是具备读写权限的,当然这个读写权限可以关闭。
例如,关闭索引的写权限:
PUT book/_settings
{
"blocks.write": true
}
关闭之后,就无法添加文档了。关闭了写权限之后,如果想要再次打开,方式如下:
PUT book/_settings
{
"blocks.write": false
}
其他类似的权限有:
请求查看方式,可以通过 GET 请求获取具体的信息
GET book
GET book/_settings
也可以同时查看多个索引信息
GET book,test/_settings
也可以查看所有索引信息
# Kibana Dev Tools
GET _all/_settings
# 网页访问
http://172.16.10.50:9200/_all/_settings
获取索引的健康值
# Kibana Dev Tools
GET _cat/health
# 网页访问
http://172.16.10.50:9200/_cat/health
# 正确结果
1637573550 09:32:30 kubernetes-logging green 12 8 2238 1119 0 0 0 0 - 100.0%
获取索引版本的详细信息
# Kibana Dev Tools GET _cat/indices?v # 网页访问 http://172.16.10.50:9200/_cat/indices?v # 结果 health status index uuid pri rep docs.count docs.deleted store.size pri.store.size green open bj-task-hdfs-rpc-2021.11.15 AH22mKXERRG6kCfE-Vq9jw 5 1 49391153 0 22.2gb 11.1gb green open k8s-prod-gpu-wanda-2021.11.22 IpKILXjKSuihPVVHpg_vCQ 5 1 332 0 1.7mb 885.9kb green open nnfsns-manage13-2021.11.11 sjLC48XeRwKrUXQ8kbMhNw 5 1 1440 0 3.7mb 1.8mb green open bj-hdfs03-hdfs-nn-2021.11.20 WCeN2NxCQya13Qaq-U8wTA 5 1 7268 0 4.9mb 2.5mb green open .monitoring-es-6-2021.11.21 FGdKSe_yQy2q25-NeqH-Lw 1 1 3019506 14377 3.8gb 1.8gb green open nnfsns-manage13-2021.11.08 r9OEKuWwSMivqXHfTZ1mrw 5 1 1440 0 3.6mb 1.8mb green open k8s-cattle-system-2021.11.21 LjQ_-s6LSrCxD3T8MTHFKg 5 1 6 0 204.8kb 102.4kb green open bj-task-hdfs-rpc-2021.10.10 i2zTQ-xhRsmAtqFrHbq-Ug 5 1 42970461 0 18.7gb 9.3gb green open bj-hdfs02-hdfs-jn-2021.11.21 F4hKUvJARNW0yDxoC3c0MQ 5 1 1060 0 940.7kb 487.7kb green open nnfsns-manage13-2021.11.14 Doi-UOLCQjaChrhaV7cnow 5 1 1440 0 3.8mb 1.9mb
索引创建好之后,可以修改其属性
例如修改索引的副本数
PUT book/_settings
{
"number_of_replicas": 2
}
使用put覆盖修改(版本号会增加)基本已不再采用
PUT /test3/_doc/1
{
"name": "大将军",
"age": 45,
"birthday": "1970-01-11"
}
使用post修改,doc是固定格式,本例只修改name字段
POST /test3/_doc/1/_update
{
"doc":{
"name": "北凉王"
}
}
通过DELETE命令实现删除,根据你的请求判断是删除索引还是删除文档记录
DELETE book
删除一个不存在的索引会报错。
关闭索引:
一个关闭的索引几乎不占用系统资源,如果一个索引暂时不用,可以关闭它
POST book/_close
打开索引
POST book/_open
当然,可以同时关闭/打开多个索引,多个索引用 , 隔开,或者直接使用 _all 代表所有索引。
索引复制,只会复制数据,不会复制索引配置(新复制的索引book_new是1个分片1个副本,而book索引是1个分片2个副本,并没有把索引配置复制过去)
POST _reindex
{
"source": {"index":"book"},
"dest": {"index":"book_new"}
}
复制的时候,可以添加查询条件。
可以为索引创建别名,如果这个别名是唯一的,该别名可以代替索引名称。
POST /_aliases
{
"actions": [
{
"add": {
"index": "book",
"alias": "book_alias"
}
}
]
}
将 add 改为 remove 就表示移除别名:
POST /_aliases
{
"actions": [
{
"remove": {
"index": "book",
"alias": "book_alias"
}
}
]
}
可以添加多个别名,也可以删除多个别名
查看某一个索引的别名:
GET /book/_alias
查看某一个别名对应的索引(book_alias 表示一个别名):
GET /book_alias/_alias
可以查看集群上所有可用别名:
GET /_alias
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。