索引类似于数据库
新建索引
通过head 插件新建索引
在head插件中,选择索引选项卡,然后点击新建索引。新建索引时,需要填入索引名称,分片书以及副本数
image.png
索引创建成功后 如下图:
image.png
0 ,1,2,3,4分别表示索引的分片,粗框表示主分片,细框表示副本。test 索引只有一个分片 和一个副本 所以只有0。
通过请求创建
通过postman发送请求,也可以通过kibana发送请求。kibana 有提示
创建索引请求:
PUT book(索引名)
image.png
ps: 创建注意事项:
- 索引名称不能有大写字母。
- 索引名是唯一的,不能重复,重复创建会出错
更新索引信息
索引创建好之后,可以修改其属性。
修改索引的副本数:
PUT book(索引名)/settings
{
"numer_of_relicas" : 1
}
修改索引的独写权限
索引创建成功后,可以向索引中写入文档:
PUT book(索引名)/_doc(类型 一个索引只有一个类型)/1
{
"titile":"三国演义"
}
写入成功后可以在head 插件中查看
image.png
默认情况下,索引的具备读写权限,当然这个 读写权限可以关闭。
例如: 我们关闭索引的写权限:
PUT book(索引名)/settings
{
"blocks.write": true
}
关闭之后,就无法添加文档,关闭了写权限之后 如果想要再次打开方式如下:
PUT book(索引名)/_settings
{
"blocks.write": false
}
其他类似的权限有
- blocks.write
- blocks.read
- blocks.read_only(只能读 不能写或者更新)
查看索引:
-
head查看查看方式:
image.png - 命令请求查看:
GET book(索引名)/_settings
也可查看多个索引信息 用 逗号隔开
GET book(索引名),test(索引名)/_settings
也可以查看所有索引信息
GET _all/_settings
删除索引:
-
head插件删除
image.png - 命令删除
DELETE test(索引名)
索引可开/关闭
- 命令关闭索引
POST test(索引名)/_clost
- 打开索引命令
POST test(索引名)/_open
ps: 关闭或打开多个索引 多个索引用逗号隔开, 或者使用_all 打包所有索引
复制索引
索引复制,只会复制数据,不会复制原索引的配置
POST _reindex
{
"source": {"index":"book"}, # 要复制的索引
"dest": {"index":"book_new"} # 复制到那里去
}
复制的时候 可以筛选条件 对某些数据进行复制.
索引的别名
可以创建索引的别名,如果这个别命是唯一的 该别名可以代替索引名称.
POST /_aliases
{
"actions": [
{
"add":{
"index":"test", # 给哪个索引添加别名
"alias": "bookalias" # 别名的名称
}
}
]
}
添加结果如下:
image.png
将add 改成 remove 就表示移除别名:
POST /_aliases
{
"actions": [
{
"remove":{
"index":"test", # 给哪个索引添加别名
"alias": "bookalias" # 别名的名称
}
}
]
}
查看 某一个索引的别名
GET test(索引名)/_alias
通过别名查询索引
GET bookalias(索引别名)/_alias
查看集群上所有可用别名
GET /_alias