Поле _tier
При выполнении запросов по нескольким индексам иногда желательно нацеливаться на индексы, хранящиеся на узлах заданного уровня данных (data_hot, data_warm, data_cold или data_frozen). Поле _tier позволяет сопоставлять значение настройки tier_preference индекса, в который был индексирован документ. Предпочтительное значение доступно в определенных запросах:
resp = client.index(
index="index_1",
id="1",
document={
"text": "Document in index 1"
},
)
print(resp)
resp1 = client.index(
index="index_2",
id="2",
refresh=True,
document={
"text": "Document in index 2"
},
)
print(resp1)
resp2 = client.search(
index="index_1,index_2",
query={
"terms": {
"_tier": [
"data_hot",
"data_warm"
]
}
},
)
print(resp2) 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 const response = await client.index({
index: "index_1",
id: 1,
document: {
text: "Document in index 1",
},
});
console.log(response);
const response1 = await client.index({
index: "index_2",
id: 2,
refresh: "true",
document: {
text: "Document in index 2",
},
});
console.log(response1);
const response2 = await client.search({
index: "index_1,index_2",
query: {
terms: {
_tier: ["data_hot", "data_warm"],
},
},
});
console.log(response2); 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 для отображения интересующих уровней, но вы можете использовать поле _tier в любом запросе, который преобразуется в запрос term, такой как запрос match, query_string, term, terms или simple_query_string, а также запросы prefix и wildcard. Однако он не поддерживает запросы regexp и fuzzy.
Настройка tier_preference индекса — это список имен уровней, разделенных запятыми, в порядке предпочтения. То есть, предпочтительный уровень для размещения индекса указывается первым, за ним могут следовать несколько вариантов резервного копирования. Сопоставление запросов учитывает только первое предпочтение (первое значение списка).
© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/8.17/mapping-tier-field.html