1.创建数据库
(1)指定分片创建数据库
PUT myindex10
{
"settings" : {
"index" : {
"number_of_shards" : 3,
"number_of_replicas" : 2
}
}
}
--返回结果:200-OK
{
"acknowledged" : true,
"shards_acknowledged" : true,
"index" : "myindex10"
}
通过默认的管理空间可以看到主分片3个,副本分片2个。
(2)创建数据库不指定分片
put myindex11
--返回
{
"acknowledged" : true,
"shards_acknowledged" : true,
"index" : "myindex11"
}
--通过默认管理空间查询到:1个主分片,一个副本。
(3)创建数据库并通过映射定义字段的类型
PUT myindex12
{
"mappings" : {
"properties" : {
"name" : { "type" : "text" },
"age":{"type":"integer"}
}
}
}
--没有指定分片默认也是一个分片。
(4)同时指定分片和副本的数量及映射信息。
PUT myindex13
{
"settings" : {
"index" : {
"number_of_shards" : 3,
"number_of_replicas" : 2
}
},
"mappings" : {
"properties" : {
"name" : { "type" : "text" },
"age":{"type":"integer"}
}
}
}
2.创建索引模版
PUT _template/template_sspu
{
"index_patterns": ["sspu*", "shanghai*"],
"settings": {
"number_of_shards" : 3,
"number_of_replicas" : 1
}
}
如果出现以:sspu 或者 shanghai开头的索引,其副本就会按照这个规则。
--创建数据库
put sspu
--linux curl查询
[esadmin@oracle1 ~]$ curl '192.168.1.7:9201/_cat/shards?v' |grep sspu
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 8419 100 8419 0 0 208k 0 --:--:-- --:--:-- --:--:-- 210k
sspu 2 r STARTED 0 208b 192.168.1.7 esdb-node-3
sspu 2 p STARTED 0 208b 192.168.1.7 esdb-node-1
sspu 1 p STARTED 0 208b 192.168.1.7 esdb-node-2
sspu 1 r STARTED 0 208b 192.168.1.7 esdb-node-1
sspu 0 p STARTED 0 208b 192.168.1.7 esdb-node-3
sspu 0 r STARTED 0 208b 192.168.1.7 esdb-node-2
--创建一个shanghai开头的数据库
put shanghai
--linux curl查询
[esadmin@oracle1 ~]$ curl '192.168.1.7:9201/_cat/shards?v' |grep shanghai
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 8853 100 8853 0 0 164k 0 --:--:-- --:--:-- --:--:-- 166k
shanghai 2 r STARTED 0 208b 192.168.1.7 esdb-node-3
shanghai 2 p STARTED 0 208b 192.168.1.7 esdb-node-1
shanghai 1 p STARTED 0 208b 192.168.1.7 esdb-node-2
shanghai 1 r STARTED 0 208b 192.168.1.7 esdb-node-1
shanghai 0 p STARTED 0 208b 192.168.1.7 esdb-node-3
shanghai 0 r STARTED 0 208b 192.168.1.7 esdb-node-2
--创建一个shang 开头的索引
put shang
[esadmin@oracle1 ~]$ curl '192.168.1.7:9201/_cat/shards?v' |grep shang
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 9029 100 9029 0 0 292k 0 --:--:-- --:--:-- --:--:-- 304k
shang 0 p STARTED 0 208b 192.168.1.7 esdb-node-3
shang 0 r STARTED 0 208b 192.168.1.7 esdb-node-2
--由此可见,只有满足前缀匹配的索引才会按照我们定义的分片规则进行分片,否则就会
--按照默认的1个分片一个副本的规则分片。