zoukankan      html  css  js  c++  java
  • 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 动态的更新这个设置。

    以上部分内容来自网络,有问题可以在下方评论,讨论技术问题可以私聊我。

  • 相关阅读:
    系统引导管理器GRUB,为初学者指南
    PHPBB安装
    python的装饰器
    PIL的问题解决
    python的小技巧
    强烈推荐instagram的ppt
    新的一天
    OpenStack介绍
    ansible自动化运维工具
    .net连oracle的问题
  • 原文地址:https://www.cnblogs.com/xzlive/p/14822748.html
Copyright © 2011-2022 走看看