启动一个 master 节点和两个 slave 节点进行测试(参考第二篇文章进行搭建)
新建索引
通过 head 插件新建索引
在 head 插件中,选择 索引选项卡
,然后点击新建索引。新建索引时,需要填入索引名称、分片数以及副本数。
索引创建成功后,如下图:
0、1、2、3、4 分别表示索引的分片,粗框表示主分片,细框表示副本(点一下框,通过 primary 属性可以查看是主分片还是副本)。.kibana 索引只有一个分片和一个副本,所以只有 0。
通过请求创建
可以通过 postman 发送请求,也可以通过 kibana 发送请求,由于 kibana 有提示,所以这里采用 kibana。
创建索引请求:
PUT book
创建成功后,可以查看索引信息:
需要注意两点:
- 索引名称不能有大写字母
- 索引名是唯一的,不能重复,重复创建会出错
更新索引
索引创建好之后,可以修改其属性。
例如修改索引的副本数:
PUT book/_settings
{
"number_of_replicas": 2
}
修改成功后,如下:
更新分片数也是一样,如果更新分片数有问题请参考:
修改索引的读写权限
索引创建成功后,可以向索引中写入文档:
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
查看索引
head 插件查看方式如下:
请求查看方式如下:
GET book/_settings
也可以同时查看多个索引信息:
GET book, test/_settings
也可以查看所有索引信息:
GET _all/_settings
删除索引
head 插件可以删除索引:
请求删除如下:
DELETE test
删除一个不存在的索引会报错。
索引打开 / 关闭
关闭索引:
POST book/_close
打开索引:
POST book/_open
当然,可以同时关闭 / 打开多个索引,多个索引用 , 隔开,或者直接使用 _all 代表所有索引。
复制索引
索引复制,只会复制数据,不会复制索引配置。
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