123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 |
- [[simulate-multi-component-templates]]
- == Simulate multi-component templates
- Since templates can be composed not only of multiple component templates, but also the index
- template itself, there are two simulation APIs to determine what the resulting index settings will
- be.
- To simulate the settings that would be applied to a particular index name:
- ////
- [source,console]
- --------------------------------------------------
- PUT /_index_template/template_1
- {
- "index_patterns" : ["my*"],
- "priority" : 1,
- "template": {
- "settings" : {
- "number_of_shards" : 2
- }
- }
- }
- --------------------------------------------------
- // TESTSETUP
- [source,console]
- --------------------------------------------------
- DELETE /_index_template/template_1
- --------------------------------------------------
- // TEARDOWN
- ////
- [source,console]
- --------------------------------------------------
- POST /_index_template/_simulate_index/my-index-000001
- --------------------------------------------------
- To simulate the settings that would be applied from an existing template:
- [source,console]
- --------------------------------------------------
- POST /_index_template/_simulate/template_1
- --------------------------------------------------
- You can also specify a template definition in the simulate request.
- This enables you to verify that settings will be applied as expected before you add a new template.
- [source,console]
- --------------------------------------------------
- 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"
- }
- }
- }
- }
- }
- POST /_index_template/_simulate
- {
- "index_patterns": ["my*"],
- "template": {
- "settings" : {
- "index.number_of_shards" : 3
- }
- },
- "composed_of": ["ct1", "ct2"]
- }
- --------------------------------------------------
- The response shows the settings, mappings, and aliases that would be applied to matching indices,
- and any overlapping templates whose configuration would be superseded by the simulated template body
- or higher-priority templates.
- [source,console-result]
- ---------------------------------------------------------
- {
- "template" : {
- "settings" : {
- "index" : {
- "number_of_shards" : "3", <1>
- "number_of_replicas" : "0"
- }
- },
- "mappings" : {
- "properties" : {
- "@timestamp" : {
- "type" : "date" <2>
- }
- }
- },
- "aliases" : { }
- },
- "overlapping" : [
- {
- "name" : "template_1", <3>
- "index_patterns" : [
- "my*"
- ]
- }
- ]
- }
- ---------------------------------------------------------
- <1> The number of shards from the simulated template body
- <2> The `@timestamp` field inherited from the `ct2` component template
- <3> Any overlapping templates that would have matched, but have lower priority
|