OpenSearch/docs/reference/mapping
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
..
dynamic Disable _all by default 2017-01-11 16:47:13 -07:00
fields Allow an index to be partitioned with custom routing (#22274) 2017-01-18 08:51:23 +01:00
params Minor doc changes to clarify mapping index param for string type (#22652) 2017-01-17 16:43:11 +01:00
types Minor doc changes to clarify mapping index param for string type (#22652) 2017-01-17 16:43:11 +01:00
dynamic-mapping.asciidoc Allows multiple patterns to be specified for index templates (#21009) 2016-11-10 18:00:30 -05:00
fields.asciidoc Disable _all by default 2017-01-11 16:47:13 -07:00
params.asciidoc Add the ability to set an analyzer on keyword fields. (#21919) 2016-12-30 09:36:10 +01:00
types.asciidoc Add RangeFieldMapper for numeric and date range types 2016-11-29 10:10:14 -06:00