模拟索引模板
您可以使用模拟索引模板 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
。