From 8807f0c725eac3c2e95989f6e42a007f9176a10f Mon Sep 17 00:00:00 2001 From: David Turner Date: Mon, 28 Jan 2019 10:00:11 +0000 Subject: [PATCH] Document that auto_create_index is dynamic (#37903) We changed the `action.auto_create_index` setting to be a dynamic cluster-level setting in #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 #7513, #27026 --- docs/reference/docs/index_.asciidoc | 70 ++++++++++++++++++++--------- 1 file changed, 49 insertions(+), 21 deletions(-) diff --git a/docs/reference/docs/index_.asciidoc b/docs/reference/docs/index_.asciidoc index b0ddb483d9f72..3c46c7ff57d44 100644 --- a/docs/reference/docs/index_.asciidoc +++ b/docs/reference/docs/index_.asciidoc @@ -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 -<> 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 <> -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 <> -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 <> 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 <> section for more information +on mapping definitions, and the the <> 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]]