API симуляции индекса
Возвращает конфигурацию индекса, которая будет применена к указанному индексу из существующей шаблона индекса.
resp = client.indices.simulate_index_template(
name="my-index-000001",
)
print(resp) const response = await client.indices.simulateIndexTemplate({
name: "my-index-000001",
});
console.log(response); POST /_index_template/_simulate_index/my-index-000001
Запрос
POST /_index_template/_simulate_index/<index>
Предварительные условия
- Если включены функции безопасности Elasticsearch, у вас должна быть роль
manage_index_templatesилиmanageправа кластера для использования этого API.
Параметры пути
-
<index> - (Обязательно, строка) Название индекса для симуляции.
Параметры запроса
-
master_timeout - (Необязательно, единицы времени) Время ожидания узла-мастера. Если узел-мастер недоступен до истечения таймаута, запрос завершается ошибкой. По умолчанию
30s. Также может быть установлено значение-1, чтобы указать, что запрос никогда не должен истечь. -
include_defaults - (Необязательно, логическое значение) Функциональность в [превью] Эта функциональность находится на стадии технического превью и может быть изменена или удалена в будущих версиях. Elastic будет работать над устранением любых проблем, но функции технического превью не подпадают под SLA поддержки официальных функций GA. . Если
true, вернуть все значения по умолчанию в ответе. По умолчаниюfalse.
Тело ответа
-
overlapping -
(массив) Любые шаблоны, которые также соответствовали индексу, но были заменены шаблоном с более высоким приоритетом. Ответ включает пустой массив, если перекрывающихся шаблонов нет.
Свойства
overlapping-
name - (строка) Название заменённого шаблона.
-
index_patterns - (массив) Шаблоны индексов, к которым применяется заменённый шаблон.
-
-
template -
(объект) Параметры настроек, отображений и псевдонимов, которые будут применены к индексу.
Свойства
template-
aliases -
(объект) Псевдонимы для индекса. Если псевдонимы не применяются, в ответе возвращается пустой
aliasesобъект.-
<alias> -
(объект) Ключ — имя псевдонима. Тело объекта содержит параметры для псевдонима.
Свойства
<alias>-
filter - (объект DSL запросов) Запрос, используемый для ограничения документов, к которым может получить доступ псевдоним.
-
index_routing - (строка) Значение, используемое для маршрутизации операций индексирования на определённый фрагмент. Перезаписывает
routingзначение для операций индексирования. -
is_hidden - (логическое значение) Если
true, псевдоним скрыт. -
is_write_index - (логическое значение) Если
true, индекс является записываемым индексом для псевдонима. -
routing - (строка) Значение, используемое для маршрутизации операций индексирования и поиска на определённый фрагмент.
-
search_routing - (строка) Значение, используемое для маршрутизации операций поиска на определённый фрагмент. Перезаписывает
routingзначение для операций поиска.
-
-
-
mappings -
(Необязательно, объект отображения) Отображение полей в индексе. При указании отображение может включать:
- Имена полей
- Типы данных полей
- Параметры отображения
См. Отображение.
Опускается из ответа, если отображения не будут применяться.
-
settings -
(Необязательно, объект настроек индекса) Параметры конфигурации для индекса. См. Параметры индекса.
Возвращается пустой объект, если настройки не будут применены.
-
Примеры
В следующем примере показана конфигурация, которая будет применена к my-index-000001 существующим шаблоном.
resp = client.cluster.put_component_template(
name="ct1",
template={
"settings": {
"index.number_of_shards": 2
}
},
)
print(resp)
resp1 = client.cluster.put_component_template(
name="ct2",
template={
"settings": {
"index.number_of_replicas": 0
},
"mappings": {
"properties": {
"@timestamp": {
"type": "date"
}
}
}
},
)
print(resp1)
resp2 = client.indices.put_index_template(
name="final-template",
index_patterns=[
"my-index-*"
],
composed_of=[
"ct1",
"ct2"
],
priority=5,
)
print(resp2)
resp3 = client.indices.simulate_index_template(
name="my-index-000001",
)
print(resp3) response = client.cluster.put_component_template(
name: 'ct1',
body: {
template: {
settings: {
'index.number_of_shards' => 2
}
}
}
)
puts response
response = client.cluster.put_component_template(
name: 'ct2',
body: {
template: {
settings: {
'index.number_of_replicas' => 0
},
mappings: {
properties: {
"@timestamp": {
type: 'date'
}
}
}
}
}
)
puts response
response = client.indices.put_index_template(
name: 'final-template',
body: {
index_patterns: [
'my-index-*'
],
composed_of: [
'ct1',
'ct2'
],
priority: 5
}
)
puts response const response = await client.cluster.putComponentTemplate({
name: "ct1",
template: {
settings: {
"index.number_of_shards": 2,
},
},
});
console.log(response);
const response1 = await client.cluster.putComponentTemplate({
name: "ct2",
template: {
settings: {
"index.number_of_replicas": 0,
},
mappings: {
properties: {
"@timestamp": {
type: "date",
},
},
},
},
});
console.log(response1);
const response2 = await client.indices.putIndexTemplate({
name: "final-template",
index_patterns: ["my-index-*"],
composed_of: ["ct1", "ct2"],
priority: 5,
});
console.log(response2);
const response3 = await client.indices.simulateIndexTemplate({
name: "my-index-000001",
});
console.log(response3); PUT /_component_template/ct1
{
"template": {
"settings": {
"index.number_of_shards": 2
}
}
}
PUT /_component_template/ct2
{
"template": {
"settings": {
"index.number_of_replicas": 0
},
"mappings": {
"properties": {
"@timestamp": {
"type": "date"
}
}
}
}
}
PUT /_index_template/final-template
{
"index_patterns": ["my-index-*"],
"composed_of": ["ct1", "ct2"],
"priority": 5
}
POST /_index_template/_simulate_index/my-index-000001 | Создать шаблон компонента ( | |
| Создать второй шаблон компонента ( | |
| Создать шаблон индекса ( | |
| Показать конфигурацию, которая будет применена к |
В ответе показаны параметры настроек, отображения и псевдонимы индекса, применяемые final-template:
{
"template" : {
"settings" : {
"index" : {
"number_of_shards" : "2",
"number_of_replicas" : "0",
"routing" : {
"allocation" : {
"include" : {
"_tier_preference" : "data_content"
}
}
}
}
},
"mappings" : {
"properties" : {
"@timestamp" : {
"type" : "date"
}
}
},
"aliases" : { }
},
"overlapping" : [
{
"name" : "template_1",
"index_patterns" : [
"my-index-*"
]
}
]
}
© 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/indices-simulate-index.html
|
|