有没有一种方法可以通过单个查询创建多个ElasticSearch索引

时间:2019-12-02 14:46:30

标签: elasticsearch

create index docs之后,我知道如何使用自定义设置创建索引,即

PUT /my-new-index
{
    "settings" : {
        "index" : {
            "number_of_shards" : 3, 
            "number_of_replicas" : 2 
        }
    }
}

是否有一种方法可以一次初始化多个索引,且所有索引都具有相同的设置?我正在寻找类似delete index API的东西,它可以查询形式

DELETE /index1,index2,index3

一次删除多个索引。

1 个答案:

答案 0 :(得分:0)

您可以使用index template API在其他索引中使用相同的设置。

Create index API不支持创建多个索引。

Put index template API

  

索引模板定义了在创建新索引时可以自动应用的设置和映射。 Elasticsearch根据与索引名称匹配的索引模式将模板应用于新索引。

PUT _template/template_1
{
  "index_patterns": ["*"],
  "settings": {
    "number_of_shards" : 3, 
    "number_of_replicas" : 2 
  }
}

然后创建一个索引

PUT my_index
{
  "mappings": {
    "properties": {
      "content": {
        "type": "text" 
      }
    }
  }
}

获取索引设置GET my_index/_settings

{

"my_index" : {
    "settings" : {
      "index" : {
        "creation_date" : "1575300164818",
        "number_of_shards" : "3",
        "number_of_replicas" : "2",
        "uuid" : "SfRWgW96RX2a0rRYNtdodA",
        "version" : {
          "created" : "7040199"
        },
        "provided_name" : "my_index"
      }
    }
  }
}

请参阅结果number_of_shardsnumber_of_replicas

希望这会有所帮助