Link Search Menu Expand Document Documentation Menu

模拟索引模板

您可以使用模拟索引模板 API 来预览索引模板将如何应用于索引,或者在创建索引模板之前模拟它。

端点

POST /_index_template/_simulate
POST /_index_template/_simulate/<template_name>
POST /_index_template/_simulate_index/<index_name>

路径参数

下表列出了可用的路径参数。

参数 数据类型 描述
template_name 字符串 要模拟的索引模板的名称。
index_name 字符串 用于模拟模板解析的索引名称。

请求正文字段

下表列出了可用的请求正文字段。

字段 数据类型 描述
index_patterns 数组 模板适用的索引模式。
template 对象 模板定义。
template.settings 对象 要应用的索引设置。
template.mappings 对象 要应用的字段映射。
template.aliases 对象 要应用的别名。
priority 整数 模板的优先级值,用于在多个模板匹配索引时确定应用哪个模板。值越高,优先级越高。
version 整数 模板版本。
_meta 对象 模板的元数据。

示例请求:模拟模板

使用以下请求模拟模板而不创建它

POST /_index_template/_simulate
{
  "index_patterns": ["log-*"],
  "template": {
    "settings": {
      "number_of_shards": 1
    },
    "mappings": {
      "properties": {
        "message": {
          "type": "text"
        }
      }
    }
  },
  "priority": 5
}

示例请求:模拟命名模板

您可以通过指定模板名称来模拟特定模板。

首先,使用以下请求创建一个名为 template_for_simulation 的模板

PUT /_index_template/template_for_simulation
{
  "index_patterns": ["logs-sim-*"],
  "template": {
    "settings": {
      "number_of_shards": 1,
      "number_of_replicas": 1
    },
    "mappings": {
      "properties": {
        "timestamp": {
          "type": "date"
        },
        "message": {
          "type": "text"
        },
        "level": {
          "type": "keyword"
        }
      }
    }
  },
  "priority": 10,
  "version": 1,
  "_meta": {
    "description": "Template used for simulation example",
    "owner": "Docs Team"
  }
}

您现在可以模拟名为 template_for_simulation 的模板

POST /_index_template/_simulate/template_for_simulation

示例请求:在特定索引上模拟模板

在特定索引名称上模拟模板对于解决模板之间的冲突或调试优先级问题特别有用。以下请求演示了所有适用的、具有重叠索引模式的模板将如何应用于名为 logs-sim-1 的索引。

POST /_index_template/_simulate_index/logs-sim-1

示例响应

{
  "template": {
    "settings": {
      "index": {
        "number_of_shards": "1",
        "number_of_replicas": "1"
      }
    },
    "mappings": {
      "properties": {
        "level": {
          "type": "keyword"
        },
        "message": {
          "type": "text"
        },
        "timestamp": {
          "type": "date"
        }
      }
    },
    "aliases": {}
  },
  "overlapping": []
}

响应正文字段

字段 数据类型 描述
template 对象 应用的模板。
template.settings 对象 解析的索引设置。
template.mappings 对象 解析的字段映射。
template.aliases 对象 解析的别名。
overlapping 数组 与相同索引模式匹配但未应用的其他索引模板列表。

所需权限

如果您使用安全插件,请确保您拥有相应的权限:indices:admin/index_template/simulate