松哥原创的 Spring Boot 视频教程已经杀青,感兴趣的小伙伴戳这里-->Spring Boot+Vue+微人事视频教程
ElasticSearch 系列第五篇,和大家聊一聊索引的基本操作,前四篇传送门:
- 打算出一个 ElasticSearch 教程,谁赞成,谁反对?
- ElasticSearch 从安装开始
- ElasticSearch 第三弹,核心概念介绍
- ElasticSearch 中的中文分词器该怎么玩?
以下是视频笔记:
启动一个 master 节点和两个 slave 节点进行测试(参考第二集的视频搭建)。
5.1 新建索引
5.1.1 通过 head 插件新建索引
在 head 插件中,选择 索引选项卡,然后点击新建索引。新建索引时,需要填入索引名称、分片数以及副本数。
索引创建成功后,如下图:
0、1、2、3、4 分别表示索引的分片,粗框表示主分片,细框表示副本(点一下框,通过 primary 属性可以查看是主分片还是副本)。.kibana 索引只有一个分片和一个副本,所以只有 0。
5.1.2 通过请求创建
可以通过 postman 发送请求,也可以通过 kibana 发送请求,由于 kibana 有提示,所以这里采用 kibana。
创建索引请求:
PUT book
创建成功后,可以查看索引信息:
需要注意两点:
- 索引名称不能有大写字母
- 索引名是唯一的,不能重复,重复创建会出错
5.2 更新索引
索引创建好之后,可以修改其属性。
例如修改索引的副本数:
PUT book/_settings
{
"number_of_replicas": 2
}
修改成功后,如下:
更新分片数也是一样。
5.3 修改索引的读写权限
索引创建成功后,可以向索引中写入文档:
PUT book/_doc/1
{
"title":"三国演义"
}
写入成功后,可以在 head 插件中查看:
默认情况下,索引是具备读写权限的,当然这个读写权限可以关闭。
例如,关闭索引的写权限:
PUT book/_settings
{
"blocks.write": true
}
关闭之后,就无法添加文档了。关闭了写权限之后,如果想要再次打开,方式如下:
PUT book/_settings
{
"blocks.write": false
}
其他类似的权限有:
- blocks.write
- blocks.read
- blocks.read_only
5.4 查看索引
head 插件查看方式如下:
请求查看方式如下:
GET book/_settings
也可以同时查看多个索引信息:
GET book,test/_settings
也可以查看所有索引信息:
GET _all/_settings
5.5 删除索引
head 插件可以删除索引:
请求删除如下:
DELETE test
删除一个不存在的索引会报错。
5.6 索引打开/关闭
关闭索引:
POST book/_close
打开索引:
POST book/_open
当然,可以同时关闭/打开多个索引,多个索引用 , 隔开,或者直接使用 _all 代表所有索引。
5.7 复制索引
索引复制,只会复制数据,不会复制索引配置。
POST _reindex
{
"source": {"index":"book"},
"dest": {"index":"book_new"}
}
复制的时候,可以添加查询条件。
5.8 索引别名
可以为索引创建别名,如果这个别名是唯一的,该别名可以代替索引名称。
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
今日干货
刚刚发表查看:13500回复:135公众号后台回复 2TB,免费获取 2TB Java 学习资料。