mirror of
https://github.com/elastic/elasticsearch.git
synced 2025-04-25 15:47:23 -04:00
New _tier metadata field that supports term, terms, exists and wildcard queries on the first data tier preference stated for an index. Closes #68135
44 lines
1.4 KiB
Text
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).
|
|
|