【问题标题】:use wildcard in ElasticSearch index template aliases在 ElasticSearch 索引模板别名中使用通配符
【发布时间】:2019-03-13 15:16:16
【问题描述】:

这是我的索引模板(简体):

{
  "template": "user-*",
  "mappings" : {
    "ESHOP_USER" : {
      "properties" : {
        "id" : {
          "type" : "long"
        },
        "nickname" : {
          "type" : "text"
        },
        "createTime" : {
          "type" : "keyword"
        },
        "updateTime" : {
          "type" : "keyword"
        }
      }
    }
  },
  "aliases" : {
      "user-test-alias" : {
          "index" : "user-test*"
      },
      "user-prod-alias" : {
          "index" : "user-prod*"
      }
  }
}

我想做的事:

名称模式为user-* 的索引共享同一个模板,我想将user-test-alias 添加到名称模式为user-test* 的所有索引中,并将user-prod-alias 添加到名称模式为user-prod* 的所有索引中。

我得到了什么:

使用上述模板,我得到了名称模式为 user-* 的所有索引,并获得了两个别名:user-test-aliasuser-prod-alias

我知道如果我将此模板拆分为测试和生产模板,或者在创建索引后使用POST /_aliases,我可以解决问题。但是有什么方法可以只用一个索引模板来实现我的目标吗?

【问题讨论】:

    标签: elasticsearch


    【解决方案1】:

    我要做的是使用 3 个模板:

    • 两种环境都通用的一种
    • 一个用于测试(仅用于别名)
    • 一个用于 prod(也仅用于别名)

    首先应用的第一个模板(通用):

    {
      "template": "user-*",
      "order": 0,
      "mappings" : {
        "ESHOP_USER" : {
          "properties" : {
            "id" : {
              "type" : "long"
            },
            "nickname" : {
              "type" : "text"
            },
            "createTime" : {
              "type" : "keyword"
            },
            "updateTime" : {
              "type" : "keyword"
            }
          }
        }
      }
    }
    

    接下来应用第二个模板(测试别名):

    {
      "template": "user-test-*",
      "order": 1,
      "aliases" : {
          "user-test-alias" : {
              "index" : "user-test*"
          }
      }
    }
    

    接下来应用第三个模板(产品别名):

    {
      "template": "user-prod-*",
      "order": 1,
      "aliases" : {
          "user-prod-alias" : {
              "index" : "user-prod*"
          }
      }
    }
    

    【讨论】:

      猜你喜欢
      • 2021-02-15
      • 1970-01-01
      • 1970-01-01
      • 2015-03-17
      • 1970-01-01
      • 1970-01-01
      • 2020-07-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多