获取索引设置 API编辑

返回一个或多个索引的设置信息。对于数据流,API 返回流的后台索引的设置信息。

response = client.indices.get_settings(
  index: 'my-index-000001'
)
puts response
GET /my-index-000001/_settings

请求编辑

GET /<target>/_settings

GET /<target>/_settings/<setting>

先决条件编辑

  • 如果启用了 Elasticsearch 安全功能,则您必须对目标数据流、索引或别名具有 view_index_metadatamonitormanage 索引权限

路径参数编辑

<target>
(可选,字符串)用于限制请求的数据流、索引和别名的逗号分隔列表。支持通配符 (*)。要定位所有数据流和索引,请省略此参数或使用 *_all
<setting>
(可选,字符串)用于限制请求的设置名称的逗号分隔列表或通配符表达式。

查询参数编辑

allow_no_indices

(可选,布尔值)如果为 false,则如果任何通配符表达式、索引别名_all 值仅定位到缺失或关闭的索引,则请求将返回错误。即使请求定位到其他打开的索引,此行为也适用。例如,如果索引以 foo 开头但没有索引以 bar 开头,则定位到 foo*,bar* 的请求将返回错误。

默认为 true

expand_wildcards

(可选,字符串)通配符模式可以匹配的索引类型。如果请求可以定位数据流,则此参数确定通配符表达式是否匹配隐藏数据流。支持逗号分隔值,例如 open,hidden。有效值为

all
匹配任何数据流或索引,包括 隐藏的 数据流或索引。
open
匹配打开的、非隐藏的索引。也匹配任何非隐藏的数据流。
closed
匹配关闭的、非隐藏的索引。也匹配任何非隐藏的数据流。数据流不能关闭。
hidden
匹配隐藏的数据流和隐藏的索引。必须与 openclosed 或两者结合使用。
none
不接受通配符模式。

默认为 open

flat_settings
(可选,布尔值)如果为 true,则以平面格式返回设置。默认为 false
include_defaults
(可选,布尔值)如果为 true,则在响应中返回所有默认设置。默认为 false
ignore_unavailable
(可选,布尔值)如果为 false,则如果请求定位到缺失或关闭的索引,则请求将返回错误。默认为 false
local
(可选,布尔值)如果为 true,则请求仅从本地节点检索信息。默认为 false,这意味着信息是从主节点检索的。
master_timeout
(可选,时间单位)等待主节点的时间段。如果在超时到期之前主节点不可用,则请求失败并返回错误。默认为 30s。也可以设置为 -1 以指示请求永远不会超时。

示例编辑

多个数据流和索引编辑

获取设置 API 可用于通过一次调用获取多个数据流或索引的设置。要获取集群中所有索引的设置,您可以对 <target> 使用 _all*。也支持通配符表达式。以下是一些示例

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
GET /my-index-000001,my-index-000002/_settings

GET /_all/_settings

GET /log_2099_*/_settings

按名称过滤设置编辑

可以使用通配符匹配来过滤返回的设置,如下所示

response = client.indices.get_settings(
  index: 'log_2099_-*',
  name: 'index.number_*'
)
puts response
GET /log_2099_-*/_settings/index.number_*