从Elasticsearch中的别名中删除索引

时间:2015-06-05 13:06:40

标签: elasticsearch

我们如何从别名中删除索引?也就是说,我不再需要将索引与别名相关联。

我的第二个问题是 - 是否存在没有任何索引的别名?

2 个答案:

答案 0 :(得分:12)

添加别名:

POST _aliases
{
  "actions": [
    {
      "add": {
        "index": ".marvel-2015.06.05",
        "alias": "alias1"
      }
    },
    {
      "add": {
        "index": ".marvel-2015.06.04",
        "alias": "alias1"
      }
    }
  ]
}

列出别名:

GET /alias1/_alias

删除一个索引:

POST _aliases
{
  "actions": [
    {
      "remove": {
        "index": ".marvel-2015.06.05",
        "alias": "alias1"
      }
    }
  ]
}

并且" no",如果没有索引,别名就不存在:https://github.com/elastic/elasticsearch/issues/7864

答案 1 :(得分:8)

如果您不知道索引的名称并且想要从所有索引中删除别名

SELECT countrycode
     , COALESCE(SUM(CASE WHEN label = 'A' THEN 1 END)/COUNT(*),0) a 
  FROM my_table 
 GROUP 
    BY countrycode;