创建或更新别名 API

编辑

将数据流或索引添加到别名

resp = client.indices.put_alias(
    index="my-data-stream",
    name="my-alias",
)
print(resp)
response = client.indices.put_alias(
  index: 'my-data-stream',
  name: 'my-alias'
)
puts response
const response = await client.indices.putAlias({
  index: "my-data-stream",
  name: "my-alias",
});
console.log(response);
PUT my-data-stream/_alias/my-alias

请求

编辑

POST <target>/_alias/<alias>

POST <target>/_aliases/<alias>

PUT <target>/_alias/<alias>

PUT <target>/_aliases/<alias>

先决条件

编辑
  • 如果启用了 Elasticsearch 安全功能,您必须对别名及其数据流或索引具有 manage 索引权限

路径参数

编辑
<alias>
(必需,字符串)要更新的别名。如果别名不存在,则请求会创建它。索引别名名称支持日期数学
<target>
(必需,字符串)要添加的数据流或索引的逗号分隔列表。支持通配符(*)。与数据流和索引都匹配的通配符模式将返回错误。

查询参数

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

请求正文

编辑
filter
(可选,查询 DSL 对象)用于限制别名可以访问的文档的查询。
index_routing
(可选,字符串)用于将索引操作路由到特定分片的值。如果指定,则会覆盖索引操作的 routing 值。数据流别名不支持此参数。
is_hidden
(可选,布尔值)如果为 true,则别名是隐藏的。默认为 false。别名的所有数据流或索引必须具有相同的 is_hidden 值。
is_write_index

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

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

must_exist
(可选,布尔值)影响尝试删除不存在的别名时的行为。如果 true,则删除不存在的别名将导致所有操作失败。如果 false,则删除不存在的别名只会导致该删除失败。默认为 false
routing
(可选,字符串)用于将索引和搜索操作路由到特定分片的值。数据流别名不支持此参数。
search_routing
(可选,字符串)用于将搜索操作路由到特定分片的值。如果指定,则会覆盖搜索操作的 routing 值。数据流别名不支持此参数。