如何在elasticsearch中创建索引,以便每天上传数据时都会创建带有日期的新索引别名,并允许我删除它们

时间:2020-06-19 13:02:52

标签: java elasticsearch kibana

PUT myindex-000001
 {
  "aliases": {
  "myindex-alias":{
  "is_write_index": true 
   }
 }
}


 PUT _ilm/policy/my_policy
       {
         "policy": {
         "phases": {
         "hot": {
         "actions": {
          "rollover": {
           "max_size": "25GB" 
      }
    }
  },
  "delete": {
    "min_age": "180d",
    "actions": {
      "delete": {} 
    }
   }
  }
 }
}


PUT _template/my_template
    {
      "index_patterns": ["myindex-*"], 
      "settings": {
       "number_of_shards": 1,
       "number_of_replicas": 1,
        "index.lifecycle.name": "my_policy", 
        "index.lifecycle.rollover_alias": "myindex-alias" 
      }
    }

   POST myindex-000001
    {
     "settings": {
      "number_of_shards": 1,
        "number_of_replicas": 1,
           "index.lifecycle.name": "my_policy"
            }
          }

我试图将数据从Java加载到Elasticsearch索引 myindex-alias 中。

每个新的上载日期都需要有单独的索引别名,例如--

         myindex-000001
         myindex-000002
         myindex-000003 and so on.. 

所有链接到一个策略,以便我可以删除任何别名。

1 个答案:

答案 0 :(得分:0)

他,策略非常相似,只需将"max_age":"1d",添加到您的有效负载中即可。查看更多here