API получения настроек индекса
Возвращает информацию о настройках одного или нескольких индексов. Для потоков данных API возвращает информацию о настройках индексов, на которых основан поток.
resp = client.indices.get_settings(
index="my-index-000001",
)
print(resp) response = client.indices.get_settings( index: 'my-index-000001' ) puts response
const response = await client.indices.getSettings({
index: "my-index-000001",
});
console.log(response); GET /my-index-000001/_settings
Запрос
GET /<target>/_settings
GET /<target>/_settings/<setting>
Предварительные условия
- Если в Elasticsearch включены функции безопасности, у вас должна быть
view_index_metadata,monitorилиmanageпривилегия индекса для целевого потока данных, индекса или псевдонима.
Параметры пути
-
<target> - (Необязательно, строка) Список потоков данных, индексов и псевдонимов, разделенных запятыми, используемых для ограничения запроса. Поддерживаются подстановочные знаки (
*). Для выбора всех потоков данных и индексов опустите этот параметр или используйте*или_all. -
<setting> - (Необязательно, строка) Список или выражение с подстановочными знаками имен настроек, разделенных запятыми, используемых для ограничения запроса.
Параметры запроса
-
allow_no_indices -
(Необязательно, булево) Если
false, запрос возвращает ошибку, если любое выражение с подстановочными знаками, псевдоним индекса или значение_allнацелены только на отсутствующие или закрытые индексы. Это поведение действует даже если запрос нацелен на другие открытые индексы. Например, запрос, нацеленный наfoo*,bar*, возвращает ошибку, если индекс начинается сfoo, но ни один индекс не начинается сbar.По умолчанию
true. -
expand_wildcards -
(Необязательно, строка) Тип индекса, которому могут соответствовать шаблоны подстановочных знаков. Если запрос может нацеливаться на потоки данных, этот аргумент определяет, сопоставляют ли выражения с подстановочными знаками скрытые потоки данных. Поддерживаются значения, разделенные запятыми, такие как
open,hidden. Допустимые значения:-
all - Соответствие любому потоку данных или индексу, включая скрытые.
-
open - Соответствие открытым, нескрытым индексам. Также соответствует любому нескрытому потоку данных.
-
closed - Соответствие закрытым, нескрытым индексам. Также соответствует любому нескрытому потоку данных. Потоки данных не могут быть закрыты.
-
hidden - Соответствие скрытым потокам данных и скрытым индексам. Должно быть комбинировано с
open,closedили обоими. -
none - Шаблоны подстановочных знаков не принимаются.
По умолчанию
open. -
-
flat_settings - (Необязательно, булево) Если
true, возвращает настройки в плоском формате. По умолчаниюfalse. -
include_defaults - (Необязательно, булево) Если
true, возвращает все настройки по умолчанию в ответе. По умолчаниюfalse. -
ignore_unavailable - (Необязательно, булево) Если
false, запрос возвращает ошибку, если он нацелен на отсутствующий или закрытый индекс. По умолчаниюfalse. -
local - (Необязательно, булево) Если
true, запрос извлекает информацию только с локального узла. По умолчаниюfalse, что означает, что информация извлекается с узла-мастера. -
master_timeout - (Необязательно, единицы времени) Время ожидания узла-мастера. Если узел-мастер недоступен до истечения срока ожидания, запрос завершается ошибкой и возвращает ошибку. По умолчанию
30s. Также можно установить значение-1, чтобы указать, что запрос никогда не должен истечь.
Примеры
Несколько потоков данных и индексов
API получения настроек может использоваться для получения настроек более чем одного потока данных или индекса одним вызовом. Чтобы получить настройки всех индексов в кластере, можно использовать _all или * для <target>. Также поддерживаются выражения с подстановочными знаками. Ниже приведены некоторые примеры:
resp = client.indices.get_settings(
index="my-index-000001,my-index-000002",
)
print(resp)
resp1 = client.indices.get_settings(
index="_all",
)
print(resp1)
resp2 = client.indices.get_settings(
index="log_2099_*",
)
print(resp2) response = client.indices.get_settings( index: 'my-index-000001,my-index-000002' ) puts response response = client.indices.get_settings( index: '_all' ) puts response response = client.indices.get_settings( index: 'log_2099_*' ) puts response
const response = await client.indices.getSettings({
index: "my-index-000001,my-index-000002",
});
console.log(response);
const response1 = await client.indices.getSettings({
index: "_all",
});
console.log(response1);
const response2 = await client.indices.getSettings({
index: "log_2099_*",
});
console.log(response2); GET /my-index-000001,my-index-000002/_settings GET /_all/_settings GET /log_2099_*/_settings
Фильтрация настроек по имени
Возвращаемые настройки можно отфильтровать с помощью сопоставления с подстановочными знаками следующим образом:
resp = client.indices.get_settings(
index="log_2099_-*",
name="index.number_*",
)
print(resp) response = client.indices.get_settings( index: 'log_2099_-*', name: 'index.number_*' ) puts response
const response = await client.indices.getSettings({
index: "log_2099_-*",
name: "index.number_*",
});
console.log(response); GET /log_2099_-*/_settings/index.number_*
© 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-get-settings.html