_tier 字段
编辑_tier
字段编辑
在跨多个索引执行查询时,有时需要定位到特定数据层级(data_hot
、data_warm
、data_cold
或 data_frozen
)节点上保存的索引。_tier
字段允许匹配文档被索引到的索引的 tier_preference
设置。首选值可在某些查询中访问。
response = client.index( index: 'index_1', id: 1, body: { text: 'Document in index 1' } ) puts response response = client.index( index: 'index_2', id: 2, refresh: true, body: { text: 'Document in index 2' } ) puts response response = client.search( index: 'index_1,index_2', body: { query: { terms: { _tier: [ 'data_hot', 'data_warm' ] } } } ) puts response
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"] } } }
通常,查询将使用 terms
查询来列出感兴趣的层级,但您可以在任何重写为 term
查询的查询中使用 _tier
字段,例如 match
、query_string
、term
、terms
或 simple_query_string
查询,以及 prefix
和 wildcard
查询。但是,它不支持 regexp
和 fuzzy
查询。
索引的 tier_preference
设置是一个逗号分隔的层级名称列表,按优先级排序,即,用于托管索引的首选层级列在最前面,后面是可能存在的多个回退选项。查询匹配仅考虑第一个首选项(列表的第一个值)。