咱们已经经过索引一篇文档建立了一个新的索引 。这个索引采用的是默认的配置,新的字段经过动态映射的方式被添加到类型映射。如今咱们须要对这个创建索引的过程作更多的控制:咱们想要确保这个索引有数量适中的主分片,而且在咱们索引任何数据 以前 ,分析器和映射已经被创建好。费话很少说,咱们来看。html
利用Kibana提供的DevTools来执行命令,要建立一个索引网络
put /sdb (其中sdb为一个索引)app
建立成功后会返回以下结果elasticsearch
{ "acknowledged" : true, "shards_acknowledged" : true, "index" : "sdb" }
若是你想禁止自动建立索引,你 能够经过在 config/elasticsearch.yml
的每一个节点下添加下面的配置:ide
action.auto_create_index: false
上面咱们建立好了一个索引,能够经过ui
GET /sdb 来查看code
{ "sdb" : { "aliases" : { }, "mappings" : { }, "settings" : { "index" : { "creation_date" : "1552621484634", "number_of_shards" : "5", //每一个索引的主分片数,默认值是 5 。这个配置在索引建立后不能修改。 "number_of_replicas" : "1", //每一个主分片的副本数,默认值是 1 。对于活动的索引库,这个配置能够随时修改。 "uuid" : "PQ1TSt5hQOua_cUAegrYmw", "version" : { "created" : "6060299" }, "provided_name" : "sdb" } } } }
若是想修改副本数,能够用 update-index-settings
API 动态修改副本数:htm
PUT /sdb/_settings { "number_of_replicas": 1 }
再次使用GET /sdb进行查看blog
上面咱们说了如何建立一个索引,那么接下来咱们来讲说如何删除一个索引索引
DELETE /sdb
或者
DELETE /sd*
也能够一次性删除多个索引
DELETE /sdb,/sda
也能够删除所有索引
DELETE /_all 或者 DELETE /*
删除成功后会有如下提示:
{ "acknowledged" : true }
通常来讲这样删除太过随意,也太过危险,所以咱们能够elasticsearch.yml
作以下配置:
action.destructive_requires_name: true
这个设置使删除只限于特定名称指向的数据, 而不容许经过指定 _all
或通配符来删除指定索引库。你一样能够经过 Cluster State API 动态的更新这个设置。
以上部份内容来自网络,有问题能够在下方评论,讨论技术问题能够私聊我。