OpenSearch/docs/reference/mapping/fields
Scott Somerville 372812da98 Allow an index to be partitioned with custom routing (#22274)
This change makes it possible for custom routing values to go to a subset of shards rather than
just a single shard. This enables the ability to utilize the spatial locality that custom routing can
provide while mitigating the likelihood of ending up with an imbalanced cluster or suffering
from a hot shard.

This is ideal for large multi-tenant indices with custom routing that suffer from one or both of
the following:
- The big tenants cannot fit into a single shard or there is so many of them that they will likely
end up on the same shard
- Tenants often have a surge in write traffic and a single shard cannot process it fast enough

Beyond that, this should also be useful for use cases where most queries are done under the context
of a specific field (e.g. a category) since it gives a hint at how the data can be stored to minimize
the number of shards to check per query. While a similar solution can be achieved with multiple
concrete indices or aliases per value today, those approaches breakdown for high cardinality fields.

A partitioned index enforces that mappings have routing required, that the partition size does not
change when shrinking an index (the partitions will shrink proportionally), and rejects mappings
that have parent/child relationships.

Closes #21585
2017-01-18 08:51:23 +01:00
..
all-field.asciidoc Disable _all by default 2017-01-11 16:47:13 -07:00
field-names-field.asciidoc Use `refresh=true` in mapping/fields examples (#20120) 2016-08-23 13:32:14 +02:00
id-field.asciidoc Use `refresh=true` in mapping/fields examples (#20120) 2016-08-23 13:32:14 +02:00
index-field.asciidoc Use `refresh=true` in mapping/fields examples (#20120) 2016-08-23 13:32:14 +02:00
meta-field.asciidoc Renamed all AUTOSENSE snippets to CONSOLE (#18210) 2016-05-09 15:42:23 +02:00
parent-field.asciidoc Fix parent_id example in docs 2017-01-10 10:01:31 -05:00
routing-field.asciidoc Allow an index to be partitioned with custom routing (#22274) 2017-01-18 08:51:23 +01:00
source-field.asciidoc Renamed all AUTOSENSE snippets to CONSOLE (#18210) 2016-05-09 15:42:23 +02:00
type-field.asciidoc Use `refresh=true` in mapping/fields examples (#20120) 2016-08-23 13:32:14 +02:00
uid-field.asciidoc Use `refresh=true` in mapping/fields examples (#20120) 2016-08-23 13:32:14 +02:00