Elasticsearch为特定类型的索引定义Map模板

2wnc66cl  于 2022-11-22  发布在  ElasticSearch
关注(0)|答案(1)|浏览(128)

我想知道在elasticsearch8.x中是否有一种方法来定义一个Map模板,这样每当某个名字的索引出现时,Map就会被动态地应用到它。
我有一个ES集群,其中所有索引都遵循earnings-*的模式,例如earnings-2022-11earnings-2022-12等。我要应用的Map是针对嵌套对象的。目前,我按如下方式(手动)应用Map:

PUT earnings-2022-11/_mapping
{
    "properties": {
      "my_salary": {
        "type": "nested"
      }
  }
}

我研究了Dynamic Mapping方面的东西,但我发现这些需要在我创建索引时完成,在我的情况下,我正在创建bulk_index,所以我认为这不会起作用,或者我可能错了。

svdrlsy4

svdrlsy41#

您需要定义一个index template

PUT _index_template/earnings_template
{
  "index_patterns": ["earnings*"],
  "template": {
    "settings": {
      "number_of_shards": 1
    },
    "mappings": {
      "properties": {
        "my_salary": {
          "type": "nested"
        }
      }
    },
    "aliases": {
    }
  },
  "priority": 100,
  "composed_of": [],
}

相关问题