elasticsearch/docs/reference/mapping/fields/tier-field.asciidoc
markharwood 3aee4c1f1f
New queryable "_tier" metadata field (#69288)
New _tier metadata field that supports term, terms, exists and wildcard queries on the first data tier preference stated for an index.

Closes #68135
2021-03-31 15:37:37 +01:00

44 lines
1.4 KiB
Text

[[mapping-tier-field]]
=== `_tier` field
When performing queries across multiple indexes, it is sometimes desirable to
target indexes held on nodes of a given data tier (`data_hot`, `data_warm`, `data_cold` or `data_frozen`).
The `_tier` field allows matching on the `tier_preference` setting of the index a document was indexed into.
The preferred value is accessible in certain queries :
[source,console]
--------------------------
PUT index_1/_doc/1
{
"text": "Document in index 1"
}
PUT index_2/_doc/2?refresh=true
{
"text": "Document in index 2"
}
GET index_1,index_2/_search
{
"query": {
"terms": {
"_tier": ["data_hot", "data_warm"] <1>
}
}
}
--------------------------
<1> Querying on the `_tier` field
Typically a query will use a `terms` query to list the tiers of interest but you can use
the `_tier` field in any query that is rewritten to a `term` query, such as the
`match`, `query_string`, `term`, `terms`, or `simple_query_string` query, as well as `prefix`
and `wildcard` queries. However, it does not support `regexp` and `fuzzy`
queries.
The `tier_preference` setting of the index is a comma-delimited list of tier names
in order of preference i.e. the preferred tier for hosting an index is listed first followed
by potentially many fall-back options. Query matching only considers the first preference
(the first value of a list).