Spec-Zone.ru › Elasticsearch 7
›Руководство по Elasticsearch [7.17] ›REST API ›API индексов

API симуляции шаблона индекса

Возвращает конфигурацию индекса, которая будет применена конкретным шаблоном индекса.

POST /_index_template/_simulate/template_1

Запрос

POST /_index_template/_simulate/<index-template>

Предварительные условия

  • Если включены функции безопасности Elasticsearch, у вас должен быть manage_index_templates или manage доступ к кластеру, чтобы использовать этот API.

Параметры пути

<index-template>
(Необязательно, строка) Имя шаблона индекса для симуляции. Чтобы протестировать конфигурацию шаблона перед его добавлением в кластер, опустите этот параметр и укажите конфигурацию шаблона в теле запроса.

Параметры запроса

create
(Необязательно, логическое значение) Если true, шаблон, переданный в теле, используется только в том случае, если ни один существующий шаблон не соответствует тем же шаблонам индексов. Если false, для симуляции используется шаблон с наивысшим приоритетом. Обратите внимание, что шаблон в любом случае не добавляется и не обновляется постоянно; он используется только для симуляции. По умолчанию false.
master_timeout
(Необязательно, единицы времени) Период ожидания подключения к узлу мастера. Если ответ не получен до истечения срока ожидания, запрос завершается ошибкой. По умолчанию 30s.

Тело запроса

data_stream

(Необязательно, объект) Если этот объект включён, шаблон используется для создания потоков данных и их базовых индексов. Поддерживается пустой объект.

Потоки данных требуют соответствующего шаблона индекса с объектом data_stream. См. создание шаблона индекса.

Свойства data_stream
hidden
(Необязательно, логическое значение) Если true, поток данных скрыт. По умолчанию false.
index_patterns

(Обязательно, массив строк) Массив выражений с подстановкой (*) используемых для соответствия именам потоков данных и индексов при создании.

Elasticsearch включает несколько встроенных шаблонов индексов. Чтобы избежать конфликтов имён с этими шаблонами, см. Избегайте конфликтов шаблонов индексов.

_meta
(Необязательно, объект) Необязательные пользовательские метаданные о шаблоне индекса. Может содержать любые данные. Эта карта не генерируется автоматически Elasticsearch.
priority
(Необязательно, целое число) Приоритет для определения приоритета шаблона индекса при создании новых потоков данных или индексов. Выбирается шаблон индекса с наивысшим приоритетом. Если приоритет не указан, шаблон обрабатывается как имеющий приоритет 0 (наименьший приоритет). Это число не генерируется автоматически Elasticsearch.
template

(Необязательно, объект) Шаблон для применения. Он может необязательно включать в себя конфигурацию aliases, mappings или settings.

Свойства template
aliases

(Необязательно, объект объектов) Алиасы для добавления.

Если шаблон индекса включает объект data_stream, это алиасы потоков данных. В противном случае это алиасы индексов. Алиасы потоков данных игнорируют параметры index_routing, routing и search_routing.

Свойства объектов aliases
<alias>

(Обязательно, объект) Ключ — имя алиаса. Имена алиасов индексов поддерживают подстановку date math.

Тело объекта содержит параметры для алиаса. Поддерживается пустой объект.

Свойства <alias>
filter
(Необязательно, объект запроса Query DSL) Запрос для ограничения документов, к которым может получить доступ алиас.
index_routing
(Необязательно, строка) Значение, используемое для маршрутизации операций индексирования на конкретный фрагмент. Если указано, это переопределяет значение routing для операций индексирования.
is_hidden
(Необязательно, логическое значение) Если true, алиас скрыт. По умолчанию false. Все индексы для алиаса должны иметь одинаковое значение is_hidden.
is_write_index
(Необязательно, логическое значение) Если true, индекс является индексом записи для алиаса. По умолчанию false.
routing
(Необязательно, строка) Значение, используемое для маршрутизации операций индексирования и поиска на конкретный фрагмент.
search_routing
(Необязательно, строка) Значение, используемое для маршрутизации операций поиска на конкретный фрагмент. Если указано, это переопределяет значение routing для операций поиска.
mappings

(Необязательно, объект отображения) Картирование для полей в индексе. При указании это отображение может включать:

  • Имена полей
  • Типы данных полей
  • Параметры отображения

См. Картирование.

settings
(Необязательно, объект настроек индекса) Параметры конфигурации для индекса. См. Настройки индекса.
version
(Необязательно, целое число) Номер версии, используемый для управления шаблонами индексов внешним образом. Это число не генерируется автоматически Elasticsearch.

Тело ответа

overlapping

(массив) Любые шаблоны, которые были заменены указанным шаблоном.

Свойства overlapping
index_patterns
(массив) Шаблоны индексов, к которым применяется заменённый шаблон.
name
(строка) Название заменённого шаблона.
template

(объект) Настройки, отображения и псевдонимы, которые будут применяться к соответствующим индексам.

Свойства template
aliases

(Необязательно, объект объектов) Псевдонимы для индекса. Если шаблон индекса включает data_stream, этот параметр не поддерживается.

Свойства объектов aliases
<alias>

(Обязательно, объект) Ключ — имя псевдонима. Имена псевдонимов индексов поддерживают математику дат.

Тело объекта содержит параметры для псевдонима. Поддерживается пустой объект.

Свойства <alias>
filter
(Необязательно, объект Query DSL) Запрос, используемый для ограничения документов, к которым может получить доступ псевдоним.
index_routing
(Необязательно, строка) Значение, используемое для маршрутизации операций индексирования на определённый фрагмент. Если указано, это переписывает значение routing для операций индексирования.
is_hidden
(Необязательно, булево) Если true, псевдоним скрыт. По умолчанию false. Все индексы для псевдонима должны иметь одинаковое значение is_hidden.
is_write_index
(Необязательно, булево) Если true, индекс является индексом записи для псевдонима. По умолчанию false.
routing
(Необязательно, строка) Значение, используемое для маршрутизации операций индексирования и поиска на определённый фрагмент.
search_routing
(Необязательно, строка) Значение, используемое для маршрутизации операций поиска на определённый фрагмент. Если указано, это переписывает значение routing для операций поиска.
mappings

(Необязательно, объект отображения) Отображение полей в индексе. Если указано, это отображение может включать:

  • Имена полей
  • Типы данных полей
  • Параметры отображения

См. Отображение.

settings
(Необязательно, объект настроек индекса) Параметры конфигурации для индекса. См. Настройки индекса.

Примеры

Моделирование существующего шаблона

В следующем примере создаётся и моделируется составной шаблон:

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/final-template 

Создать компонентный шаблон (ct1), который устанавливает количество фрагментов в 2

Создать компонентный шаблон (ct2), который устанавливает количество реплик в 0 и определяет отображение

Создать шаблон индекса (final-template), который использует компонентные шаблоны

Показать конфигурацию, применяемую шаблоном final-template

В ответе показаны настройки индекса, отображения и псевдонимы, применяемые шаблоном final-template:

{
  "template" : {
    "settings" : {
      "index" : {
        "number_of_shards" : "2",  
        "number_of_replicas" : "0" 
      }
    },
    "mappings" : {                 
      "properties" : {
        "@timestamp" : {
          "type" : "date"
        }
      }
    },
    "aliases" : { }
  },
  "overlapping" : [ ]
}

Количество фрагментов из ct1

Количество реплик из ct2

Отображения из ct1

Моделирование произвольной конфигурации шаблона

Чтобы увидеть, какие настройки будут применены шаблоном до его добавления в кластер, можно передать конфигурацию шаблона в теле запроса. Указанный шаблон используется для моделирования, если он имеет более высокий приоритет, чем существующие шаблоны.

POST /_index_template/_simulate
{
  "index_patterns": ["my-index-*"],
  "composed_of": ["ct2"],
  "priority": 10,
  "template": {
    "settings": {
      "index.number_of_replicas": 1
    }
  }
}

Ответ показывает любые перекрывающиеся шаблоны с более низким приоритетом.

{
  "template" : {
    "settings" : {
      "index" : {
        "number_of_replicas" : "1"
      }
    },
    "mappings" : {
      "properties" : {
        "@timestamp" : {
          "type" : "date"
        }
      }
    },
    "aliases" : { }
  },
  "overlapping" : [
    {
      "name" : "final-template",
      "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/7.17/indices-simulate-template.html

END_OF_DOCUMENT_MARKER

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API