别名 API

编辑

在单个原子操作中执行一个或多个别名操作。

resp = client.indices.update_aliases(
    actions=[
        {
            "add": {
                "index": "my-data-stream",
                "alias": "my-alias"
            }
        }
    ],
)
print(resp)
response = client.indices.update_aliases(
  body: {
    actions: [
      {
        add: {
          index: 'my-data-stream',
          alias: 'my-alias'
        }
      }
    ]
  }
)
puts response
const response = await client.indices.updateAliases({
  actions: [
    {
      add: {
        index: "my-data-stream",
        alias: "my-alias",
      },
    },
  ],
});
console.log(response);
POST _aliases
{
  "actions": [
    {
      "add": {
        "index": "my-data-stream",
        "alias": "my-alias"
      }
    }
  ]
}

请求

编辑

POST _aliases

先决条件

编辑
  • 如果启用了 Elasticsearch 安全功能,您必须拥有以下索引权限

    • 要使用 addremove 操作,您必须拥有别名及其数据流或索引的 manage 索引权限。
    • 要使用 remove_index 操作,您必须拥有索引的 manage 索引权限。

查询参数

编辑
master_timeout
(可选,时间单位)等待主节点的时间。如果主节点在超时过期之前不可用,则请求失败并返回错误。默认为 30s。也可以设置为 -1 表示请求永远不应超时。
timeout
(可选,时间单位)在更新集群元数据后,等待来自集群中所有相关节点的响应的时间。如果在超时过期之前没有收到响应,则集群元数据更新仍然适用,但响应将表明它没有完全确认。默认为 30s。也可以设置为 -1 表示请求永远不应超时。

请求体

编辑
actions

(必需,对象数组)要执行的操作。

actions 对象的属性
<action>

(必需,对象)键是操作类型。至少需要一个操作。

有效的 <action>
add
将数据流或索引添加到别名。如果别名不存在,则 add 操作会创建它。
remove
从别名中删除数据流或索引。
remove_index
删除索引。您不能在别名或数据流上使用此操作。

对象主体包含别名的选项。支持空对象。

<action> 的属性
alias
(必需*,字符串)操作的别名。索引别名名称支持日期数学。如果未指定 aliases,则 addremove 操作需要此参数。对于 remove 操作,此参数支持通配符(*)。remove_index 操作不支持此参数。
aliases
(必需*,字符串数组)操作的别名。索引别名名称支持日期数学。如果未指定 alias,则 addremove 操作需要此参数。对于 remove 操作,此参数支持通配符(*)。remove_index 操作不支持此参数。
filter

(可选,查询 DSL 对象)用于限制别名可以访问的文档的查询。

只有 add 操作支持此参数。

index
(必需*,字符串)操作的数据流或索引。支持通配符(*)。如果未指定 indices,则需要此参数。对于 addremove_index 操作,匹配数据流和索引的通配符模式会返回错误。
indices
(必需*,字符串数组)操作的数据流或索引。支持通配符(*)。如果未指定 index,则需要此参数。对于 addremove_index 操作,匹配数据流和索引的通配符模式会返回错误。
index_routing

(可选,字符串)用于将索引操作路由到特定分片的值。如果指定,此值将覆盖索引操作的 routing 值。数据流别名不支持此参数。

只有 add 操作支持此参数。

is_hidden

(可选,布尔值)如果为 true,则别名是隐藏的。默认为 false。别名的所有数据流或索引必须具有相同的 is_hidden 值。

只有 add 操作支持此参数。

is_write_index

(可选,布尔值)如果为 true,则为别名设置写入索引或数据流。

如果别名指向多个索引或数据流,并且未设置 is_write_index,则别名会拒绝写入请求。如果索引别名指向一个索引并且未设置 is_write_index,则该索引会自动充当写入索引。数据流别名不会自动设置写入数据流,即使别名指向一个数据流。

只有 add 操作支持此参数。

must_exist

(可选,布尔值)影响尝试删除不存在的别名时的行为。如果为 true,则删除不存在的别名会导致所有操作失败。如果为 false,则删除不存在的别名只会导致该删除失败。默认为 false

只有 remove 操作支持此参数。

routing

(可选,字符串)用于将索引和搜索操作路由到特定分片的值。数据流别名不支持此参数。

只有 add 操作支持此参数。

search_routing

(可选,字符串)用于将搜索操作路由到特定分片的值。如果指定,此值将覆盖搜索操作的 routing 值。数据流别名不支持此参数。

只有 add 操作支持此参数。

响应体

编辑
acknowledged
(布尔值)如果为 true,则请求在 timeout 期限内收到了来自主节点的响应。
errors
(布尔值)如果为 true,则至少有一个请求的操作失败。
action_results

(可选,对象数组)每个请求的操作的结果。

action_results 对象的属性
action

(对象)关联操作请求的描述。

action 对象的属性
type
(字符串)关联操作的类型,为 addremoveremove_index 之一。
indices
(字符串数组)关联操作中的索引列表。
aliases
(字符串数组)关联操作中的别名列表。
status
(整数)操作返回的 HTTP 状态代码。
error

(可选,对象)包含有关失败操作的其他信息。

仅在操作失败时存在。