Simulate index APIedit

This functionality is experimental and may be changed or removed completely in a future release. Elastic will take a best effort approach to fix any issues, but experimental features are not subject to the support SLA of official GA features.

Returns the index configuration that would be applied to the specified index from an existing index template.

POST /_index_template/_simulate_index/my-index-000001

Requestedit

POST /_index_template/_simulate_index/<index>

Path parametersedit

<index>
(Required, string) Name of the index to simulate.

Query parametersedit

master_timeout
(Optional, time units) Specifies the period of time to wait for a connection to the master node. If no response is received before the timeout expires, the request fails and returns an error. Defaults to 30s.

Response bodyedit

overlapping

(array) Any templates that also matched the index but were superseded by a higher-priority template. Response includes an empty array if there are no overlapping templates.

Properties of overlapping
name
(string) Name of the superseded template.
index_patterns
(array) Index patterns that the superseded template applies to.
template

(object) The settings, mappings, and aliases that would be applied to the index.

Properties of template
aliases

(Optional, alias object) Index aliases which include the index. See Update index alias.

Response includes an empty object if no aliases would be applied.

mappings

(Optional, mapping object) Mapping for fields in the index. If specified, this mapping can include:

See Mapping.

Omitted from the response if no mappings would be applied.

settings

(Optional, index setting object) Configuration options for the index. See Index Settings.

Response includes an empty object if no settings would be applied.

Examplesedit

The following example shows the configuration that would be applied to my-index-000001 by an existing template.

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 

Create a component template (ct1) that sets the number of shards to 2

Create a second component template (ct2) that sets the number of replicas to 0 and defines a mapping

Create an index template (final-template) that uses the component templates

Show the configuration that would be applied to my-index-000001

The response shows the index settings, mappings, and aliases applied by the final-template:

{
  "template" : {
    "settings" : {
      "index" : {
        "number_of_shards" : "2",
        "number_of_replicas" : "0"
      }
    },
    "mappings" : {
      "properties" : {
        "@timestamp" : {
          "type" : "date"
        }
      }
    },
    "aliases" : { }
  },
  "overlapping" : [
    {
      "name" : "template_1",
      "index_patterns" : [
        "my-index-*"
      ]
    }
  ]
}