[[breaking_60_indices_changes]]
=== Indices changes

==== Index templates use `index_patterns` instead of `template`

Previously templates expressed the indices that they should match using a glob
style pattern in the `template` field. They should now use the `index_patterns`
field instead. As the name implies you can define multiple glob style patterns
in an array but for convenience defining a single pattern as a bare string is
also supported. So both of these examples are valid:

[source,js]
--------------------------------------------------
PUT _template/template_1
{
  "index_patterns": ["te*", "bar*"],
  "settings": {
    "number_of_shards": 1
  }
}
PUT _template/template_2
{
  "index_patterns": "te*",
  "settings": {
    "number_of_shards": 1
  }
}
--------------------------------------------------
// CONSOLE


==== Shadow Replicas have been removed

Shadow replicas don't see enough usage, and have been removed. This includes the
following settings:

- `index.shared_filesystem`
- `index.shadow_replicas`
- `node.add_lock_id_to_custom_path`

==== Open/Close index API allows wildcard expressions that match no indices by default

The default value of the `allow_no_indices` option for the Open/Close index API
has been changed from `false` to `true` so it is aligned with the behaviour of the
Delete index API. As a result, Open/Close index API don't return an error by
default when a provided wildcard expression doesn't match any closed/open index.

==== Delete a document

Delete a document from non-existing index has been modified to not create the index.
However if an external versioning is used the index will be created and the document
will be marked for deletion. 

==== Indices aliases api resolves indices expressions only against indices

The index parameter in the update-aliases, put-alias, and delete-alias APIs no
longer accepts alias names. Instead, it accepts only index names (or wildcards
which will expand to matching indices).

==== Delete index api resolves indices expressions only against indices

The index parameter in the delete index API no longer accepts alias names.
Instead, it accepts only index names (or wildcards which will expand to
matching indices).
