Elasticsearch索引的操作,利用kibana(如何創建/刪除一個es的索引?)


我們已經通過索引一篇文檔創建了一個新的索引 。這個索引采用的是默認的配置,新的字段通過動態映射的方式被添加到類型映射。現在我們需要對這個建立索引的過程做更多的控制:我們想要確保這個索引有數量適中的主分片,並且在我們索引任何數據 之前 ,分析器和映射已經被建立好。費話不多說,我們來看。

利用Kibana提供的DevTools來執行命令,要創建一個索引

put /sdb  (其中sdb為一個索引)

創建成功后會返回如下結果

{
  "acknowledged" : true,
  "shards_acknowledged" : true,
  "index" : "sdb"
}

如果你想禁止自動創建索引,你 可以通過在 config/elasticsearch.yml 的每個節點下添加下面的配置:

action.auto_create_index: false

上面我們創建好了一個索引,可以通過

GET /sdb   來查看

{
  "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 動態修改副本數:

PUT /sdb/_settings
{
    "number_of_replicas": 1
}

再次使用GET /sdb進行查看

上面我們說了如何創建一個索引,那么接下來我們來說說如何刪除一個索引

DELETE /sdb 

或者

DELETE /sd*

也可以一次性刪除多個索引

DELETE /sdb,/sda

也可以刪除全部索引

DELETE /_all 或者 DELETE /*

刪除成功后會有以下提示:

{
  "acknowledged" : true
}

一般來說這樣刪除太過隨意,也太過危險,因此我們可以elasticsearch.yml 做如下配置:

action.destructive_requires_name: true

這個設置使刪除只限於特定名稱指向的數據, 而不允許通過指定 _all 或通配符來刪除指定索引庫。你同樣可以通過 Cluster State API 動態的更新這個設置。

以上部分內容來自網絡,有問題可以在下方評論,討論技術問題可以私聊我。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM