以添加book为例
PUT book
响应结果
{
"acknowledged" : true,
"shards_acknowledged" : true,
"index" : "book"
}
在创建索引时设置分片数
PUT book
{
"settings": {
"number_of_replicas": 2, //副本
"number_of_shards": 3 //分片数
}
}
或者
PUT book
{
"settings": {
"index": {
"number_of_replicas": 2,
"number_of_shards": 3
}
}
}
响应结果
{
"acknowledged" : true,
"shards_acknowledged" : true,
"index" : "book"
}
分片数只能在创建索引的时候设置分片数,索引创建后无法修改分片数
副本数可以在创建索引时指定,也可以创建索引后修改
PUT book/_settings
{
"number_of_replicas": 1
}
响应结果
{
"acknowledged" : true
}
新创建的索引具有读写权限
PUT book/_doc/1
{
"title":"随便写写"
}
响应结果
{
"_index" : "book",
"_type" : "_doc",
"_id" : "1",
"_version" : 1,
"result" : "created",
"_shards" : {
"total" : 2,
"successful" : 2,
"failed" : 0
},
"_seq_no" : 0,
"_primary_term" : 1
}
修改索引权限为只读,即关闭写权限
PUT book/_settings
{
"blocks.write": true //true为关闭写权限,false为打开
}
再次添加文档则会报错
{
"error" : {
"root_cause" : [
{
"type" : "cluster_block_exception",
"reason" : "index [book] blocked by: [FORBIDDEN/8/index write (api)];"
}
],
"type" : "cluster_block_exception",
"reason" : "index [book] blocked by: [FORBIDDEN/8/index write (api)];"
},
"status" : 403
}
索引权限
- blocks.write 写权限
- blocks.read 读权限
- blocks.read_only 只读权限,设置后会影响写权限
查看一个或多个指定索引
GET book 或者 GET book/_settings
GET book,test 或者 GET book,test/_settings
查看全部索引
GET _all 或者 GET _all/_settings
DELETE book
POST book/_open //打开book索引
POST book,test/_open //打开book,test索引
POST _all/_open //打开所有索引
关闭索引类似,只是把_open变成_close
索引复制,只会复制数据,不会复制索引配置。
POST _reindex
{
"source": {
"index": "book"
},
"dest": {
"index": "book_new"
}
}
复制的时候,可以添加查询条件。
创建索引别名
POST _aliases
{
"actions": [
{
"add": {
"index": "book",
"alias": "book_alias"
}
}
]
}
删除别名只需把add改为remove即可。
查看某一个索引的别名:
GET book/_alias
查看某一个别名对应的索引(book_alias 表示一个别名):
GET book_alias/_alias
可以查看集群上所有可用别名:
GET _alias