咱們已經經過索引一篇文檔建立了一個新的索引 。這個索引採用的是默認的配置,新的字段經過動態映射的方式被添加到類型映射。如今咱們須要對這個創建索引的過程作更多的控制:咱們想要確保這個索引有數量適中的主分片,而且在咱們索引任何數據 以前 ,分析器和映射已經被創建好。費話很少說,咱們來看。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 動態的更新這個設置。
以上部份內容來自網絡,有問題能夠在下方評論,討論技術問題能夠私聊我。