模拟索引 API
编辑模拟索引 API
编辑返回将通过现有索引模板应用于指定索引的索引配置。
resp = client.indices.simulate_index_template( name="my-index-000001", ) print(resp)
const response = await client.indices.simulateIndexTemplate({ name: "my-index-000001", }); console.log(response);
POST /_index_template/_simulate_index/my-index-000001
请求
编辑POST /_index_template/_simulate_index/<index>
路径参数
编辑-
<index>
- (必需,字符串) 要模拟的索引名称。
查询参数
编辑-
master_timeout
- (可选,时间单位) 等待主节点的时间。如果主节点在超时到期前不可用,则请求失败并返回错误。默认为
30s
。也可以设置为-1
表示请求永远不应超时。 -
include_defaults
- (可选,布尔值) [预览] 此功能处于技术预览阶段,可能会在未来的版本中更改或删除。Elastic 将努力修复任何问题,但技术预览版的功能不受正式 GA 功能的支持 SLA 的约束。 中的功能。如果
true
,则在响应中返回所有默认设置。默认为false
。
响应体
编辑-
overlapping
-
(数组) 任何也匹配索引但被更高优先级模板取代的模板。如果没有重叠的模板,则响应包含一个空数组。
overlapping
的属性-
name
- (字符串) 被取代的模板的名称。
-
index_patterns
- (数组) 被取代的模板应用到的索引模式。
-
-
template
-
(对象) 将应用于索引的设置、映射和别名。
template
的属性
示例
编辑以下示例显示现有模板将应用于 my-index-000001
的配置。
resp = client.cluster.put_component_template( name="ct1", template={ "settings": { "index.number_of_shards": 2 } }, ) print(resp) resp1 = client.cluster.put_component_template( name="ct2", template={ "settings": { "index.number_of_replicas": 0 }, "mappings": { "properties": { "@timestamp": { "type": "date" } } } }, ) print(resp1) resp2 = client.indices.put_index_template( name="final-template", index_patterns=[ "my-index-*" ], composed_of=[ "ct1", "ct2" ], priority=5, ) print(resp2) resp3 = client.indices.simulate_index_template( name="my-index-000001", ) print(resp3)
response = client.cluster.put_component_template( name: 'ct1', body: { template: { settings: { 'index.number_of_shards' => 2 } } } ) puts response response = client.cluster.put_component_template( name: 'ct2', body: { template: { settings: { 'index.number_of_replicas' => 0 }, mappings: { properties: { "@timestamp": { type: 'date' } } } } } ) puts response response = client.indices.put_index_template( name: 'final-template', body: { index_patterns: [ 'my-index-*' ], composed_of: [ 'ct1', 'ct2' ], priority: 5 } ) puts response
const response = await client.cluster.putComponentTemplate({ name: "ct1", template: { settings: { "index.number_of_shards": 2, }, }, }); console.log(response); const response1 = await client.cluster.putComponentTemplate({ name: "ct2", template: { settings: { "index.number_of_replicas": 0, }, mappings: { properties: { "@timestamp": { type: "date", }, }, }, }, }); console.log(response1); const response2 = await client.indices.putIndexTemplate({ name: "final-template", index_patterns: ["my-index-*"], composed_of: ["ct1", "ct2"], priority: 5, }); console.log(response2); const response3 = await client.indices.simulateIndexTemplate({ name: "my-index-000001", }); console.log(response3);
PUT /_component_template/ct1 { "template": { "settings": { "index.number_of_shards": 2 } } } PUT /_component_template/ct2 { "template": { "settings": { "index.number_of_replicas": 0 }, "mappings": { "properties": { "@timestamp": { "type": "date" } } } } } PUT /_index_template/final-template { "index_patterns": ["my-index-*"], "composed_of": ["ct1", "ct2"], "priority": 5 } POST /_index_template/_simulate_index/my-index-000001
创建一个组件模板 ( |
|
创建第二个组件模板 ( |
|
创建一个使用组件模板的索引模板 ( |
|
显示将应用于 |
响应显示 final-template
应用的索引设置、映射和别名
{ "template" : { "settings" : { "index" : { "number_of_shards" : "2", "number_of_replicas" : "0", "routing" : { "allocation" : { "include" : { "_tier_preference" : "data_content" } } } } }, "mappings" : { "properties" : { "@timestamp" : { "type" : "date" } } }, "aliases" : { } }, "overlapping" : [ { "name" : "template_1", "index_patterns" : [ "my-index-*" ] } ] }