Skip to content

Commit

Permalink
Document that auto_create_index is dynamic (elastic#37903)
Browse files Browse the repository at this point in the history
We changed the `action.auto_create_index` setting to be a dynamic cluster-level
setting in elastic#20274 but today the reference manual indicates that it is still a
static node-level setting. This commit addresses this, and clarifies the
semantics of patterns that may both permit and forbid the creation of certain
indices.

Relates elastic#7513, elastic#27026
  • Loading branch information
DaveCTurner committed Jan 28, 2019
1 parent 2ce8347 commit 8807f0c
Showing 1 changed file with 49 additions and 21 deletions.
70 changes: 49 additions & 21 deletions docs/reference/docs/index_.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -56,27 +56,55 @@ NOTE: Replica shards may not all be started when an indexing operation success
[[index-creation]]
=== Automatic Index Creation

The index operation automatically creates an index if it has not been
created before (check out the
<<indices-create-index,create index API>> for manually
creating an index), and also automatically creates a
dynamic type mapping for the specific type if one has not yet been
created (check out the <<indices-put-mapping,put mapping>>
API for manually creating a type mapping).

The mapping itself is very flexible and is schema-free. New fields and
objects will automatically be added to the mapping definition of the
type specified. Check out the <<mapping,mapping>>
section for more information on mapping definitions.

Automatic index creation can be disabled by setting
`action.auto_create_index` to `false` in the config file of all nodes.
Automatic mapping creation can be disabled by setting
`index.mapper.dynamic` to `false` per-index as an index setting.

Automatic index creation can include a pattern based white/black list,
for example, set `action.auto_create_index` to `+aaa*,-bbb*,+ccc*,-*` (+
meaning allowed, and - meaning disallowed).
The index operation automatically creates an index if it does not already
exist, and applies any <<indices-templates,index templates>> that are
configured. The index operation also creates a dynamic type mapping for the
specified type if one does not already exist. By default, new fields and
objects will automatically be added to the mapping definition for the specified
type if needed. Check out the <<mapping,mapping>> section for more information
on mapping definitions, and the the <<indices-put-mapping,put mapping>> API for
information about updating type mappings manually.

Automatic index creation is controlled by the `action.auto_create_index`
setting. This setting defaults to `true`, meaning that indices are always
automatically created. Automatic index creation can be permitted only for
indices matching certain patterns by changing the value of this setting to a
comma-separated list of these patterns. It can also be explicitly permitted and
forbidden by prefixing patterns in the list with a `+` or `-`. Finally it can
be completely disabled by changing this setting to `false`.

[source,js]
--------------------------------------------------
PUT _cluster/settings
{
"persistent": {
"action.auto_create_index": "twitter,index10,-index1*,+ind*" <1>
}
}
PUT _cluster/settings
{
"persistent": {
"action.auto_create_index": "false" <2>
}
}
PUT _cluster/settings
{
"persistent": {
"action.auto_create_index": "true" <3>
}
}
--------------------------------------------------
// CONSOLE

<1> Permit only the auto-creation of indices called `twitter`, `index10`, no
other index matching `index1*`, and any other index matching `ind*`. The
patterns are matched in the order in which they are given.

<2> Completely disable the auto-creation of indices.

<3> Permit the auto-creation of indices with any name. This is the default.

[float]
[[index-versioning]]
Expand Down

0 comments on commit 8807f0c

Please sign in to comment.