ElasticSearch 目前也算是非常火了,站内搜索、日志分析都会用到它,而且还可以直接当成 NoSQL 数据库来使用。
接下来,我们就通过下面这个简单介绍,开启 es 之旅吧~
公众号 : 倔强小狮子
文章目录
1. ElasticSearch API
方式 | 解释 |
---|---|
post | 创建索引 |
delete | 删除索引 |
put | 更新或者创建索引 |
get | 查看索引 |
2. 新建索引
可以通过 postman 发送请求,也可以通过 kibana 发送请求,由于 kibana 有提示,所以这里采用 kibana。
2.1 创建索引请求
PUT index
例如 : PUT lionet
POST index/type/id
例如 : POST lionet/_doc/1
注意 : POST 和 PUT 都可进行创建索引, 需要注意的是PUT需要对一个具体的资源进行操作也就是要确定id才能进行更新/创建,而POST是可以针对整个资源集合进行操作的,如果不写id就由ES生成一个唯一id进行创建新文档,如果填了id那就针对这个id的文档进行创建/更新
例如 : POST lionet/code/1 将会提示
#! Deprecation: [types removal] Specifying types in document index requests is deprecated, use the typeless endpoints instead (/{index}/_doc/{id}, /{index}/_doc, or /{index}/_create/{id}).
因为 ES7种已经废弃 type类型
2.2 需要注意两点
- 索引名称不能有大写字母
PUT Lionet
- 索引名是唯一的,不能重复,重复创建会出错
2. 更新索引
2.1 索引创建好之后,可以修改其属性。
例如 : 修改索引副本数
PUT lionet/_settings
{
"number_of_replicas": 2
}
number_of_replicas : 代表副本数
2.2 修改文档
PUT index/_doc/id
put lionet/_doc/weEKk3gBNW2PTZf-j598
{
"title":"小狮子"
}
2.3 PUT 方式案例
PUT 方式当 id存在时即使更新,不存在时即可新增
PUST 修改
put lionet/_doc/weEKk3gBNW2PTZf-j598
{
"title":"倔强的小狮子"
}
3. 默认情况下,索引是具备读写权限的,当然这个读写权限可以关闭。
例如,关闭索引的写权限
PUT lionet/_settings
{
"blocks.write": true
}
blocks.write : true 关闭写权限
3.1 其他类似的权限有:
blocks.write : 写权限
blocks.read 读权限
blocks.read_only 只读权限
4. 查看索引
-
head 插件查看方式如下:
-
请求查看方式如下:
GET lionet/_settings
GET /index/_doc/id?pretty=true
例如: GET /lionet/_doc/1?pretty=true
pretty=trye是将查询结果进行 JSON 格式化展示(默认值) -
也可以同时查看多个索引信息:
GET lionet,test/_settings
-
也可以查看所有索引信息
GET _all/_settings
5. 删除索引
-
head 插件可以删除索引
-
请求删除如下
DELETE index
例如 : DELETE lionet
删除一个不存在的索引会报错
6. 索引打开/关闭
6.1 关闭索引 (POST请求)
POST book/_close
- 获取关闭索引文档
6.2 打开索引
POST index/_open
例如: POST lionet/_open
当然,可以同时关闭/打开多个索引,多个索引用 , 隔开,或者直接使用 _all 代表所有索引。
7. 复制索引
- 索引复制,只会复制数据,不会复制索引配置。
- 复制的时候,可以添加查询条件。
POST _reindex
{
"source": {"index": "lionet"},
"dest": {"index":"lionetdest"}
}
8.索引别名
8.1 添加
- 可以为索引创建别名,如果这个别名是唯一的,该别名可以代替索引名称。
POST /_aliases
POST _aliases
{
"actions": [
{
"add": {
"index": "lionet",
"alias": "lionet_alias"
}
}
]
8.2 删除索引
POST /_aliases
{
"actions": [
{
"remove": {
"index": "lionet",
"alias": "lionet_alias"
}
}
]
}
-
查看某一个索引的别名:
GET /lionet/_alias
-
查看某一个别名对应的索引(book_alias 表示一个别名):
GET /lionet_alias/_alias
-
可以查看集群上所有可用别名:
GET /_alias
期待你的关注,和我一起学习
转载说明:转载携带原文链接