140 lines
2.7 KiB
Plaintext
140 lines
2.7 KiB
Plaintext
|
[[indices-add-alias]]
|
||
|
=== Add index alias API
|
||
|
++++
|
||
|
<titleabbrev>Add index alias</titleabbrev>
|
||
|
++++
|
||
|
|
||
|
Creates or updates an index alias.
|
||
|
|
||
|
include::alias-exists.asciidoc[tag=index-alias-def]
|
||
|
|
||
|
[source,js]
|
||
|
----
|
||
|
PUT /twitter/_alias/alias1
|
||
|
----
|
||
|
// CONSOLE
|
||
|
// TEST[setup:twitter]
|
||
|
|
||
|
|
||
|
[[add-alias-api-request]]
|
||
|
==== {api-request-title}
|
||
|
|
||
|
`PUT /<index>/_alias/<alias>`
|
||
|
|
||
|
`POST /<index>/_alias/<alias>`
|
||
|
|
||
|
`PUT /<index>/_aliases/<alias>`
|
||
|
|
||
|
`POST /<index>/_aliases/<alias>`
|
||
|
|
||
|
|
||
|
[[add-alias-api-path-params]]
|
||
|
==== {api-path-parms-title}
|
||
|
|
||
|
`<index>`::
|
||
|
(Required, string)
|
||
|
Comma-separated list or wildcard expression of index names
|
||
|
to add to the alias.
|
||
|
+
|
||
|
To add all indices in the cluster to the alias,
|
||
|
use a value of `_all`.
|
||
|
|
||
|
`<alias>`::
|
||
|
(Required, string)
|
||
|
Name of the index alias to create or update.
|
||
|
|
||
|
|
||
|
[[add-alias-api-query-params]]
|
||
|
==== {api-query-parms-title}
|
||
|
|
||
|
include::{docdir}/rest-api/common-parms.asciidoc[tag=timeoutparms]
|
||
|
|
||
|
|
||
|
[[add-alias-api-request-body]]
|
||
|
==== {api-request-body-title}
|
||
|
|
||
|
`filter`::
|
||
|
(Required, query object)
|
||
|
include::{docdir}/rest-api/common-parms.asciidoc[tag=index-alias-filter]
|
||
|
|
||
|
include::{docdir}/rest-api/common-parms.asciidoc[tag=index-routing]
|
||
|
|
||
|
[[add-alias-api-example]]
|
||
|
==== {api-examples-title}
|
||
|
|
||
|
[[alias-adding]]
|
||
|
===== Add a time-based alias
|
||
|
|
||
|
The following request creates an alias, `2030`,
|
||
|
for the `logs_20302801` index.
|
||
|
|
||
|
[source,js]
|
||
|
--------------------------------------------------
|
||
|
PUT /logs_20302801/_alias/2030
|
||
|
--------------------------------------------------
|
||
|
// CONSOLE
|
||
|
// TEST[s/^/PUT logs_20302801\n/]
|
||
|
|
||
|
[[add-alias-api-user-ex]]
|
||
|
===== Add a user-based alias
|
||
|
|
||
|
First, create an index, `users`,
|
||
|
with a mapping for the `user_id` field:
|
||
|
|
||
|
[source,js]
|
||
|
--------------------------------------------------
|
||
|
PUT /users
|
||
|
{
|
||
|
"mappings" : {
|
||
|
"properties" : {
|
||
|
"user_id" : {"type" : "integer"}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
--------------------------------------------------
|
||
|
// CONSOLE
|
||
|
|
||
|
Then add the index alias for a specific user, `user_12`:
|
||
|
|
||
|
[source,js]
|
||
|
--------------------------------------------------
|
||
|
PUT /users/_alias/user_12
|
||
|
{
|
||
|
"routing" : "12",
|
||
|
"filter" : {
|
||
|
"term" : {
|
||
|
"user_id" : 12
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
--------------------------------------------------
|
||
|
// CONSOLE
|
||
|
// TEST[continued]
|
||
|
|
||
|
[[alias-index-creation]]
|
||
|
===== Add an alias during index creation
|
||
|
|
||
|
You can use the <<create-index-aliases,create index API>>
|
||
|
to add an index alias during index creation.
|
||
|
|
||
|
[source,js]
|
||
|
--------------------------------------------------
|
||
|
PUT /logs_20302801
|
||
|
{
|
||
|
"mappings" : {
|
||
|
"properties" : {
|
||
|
"year" : {"type" : "integer"}
|
||
|
}
|
||
|
},
|
||
|
"aliases" : {
|
||
|
"current_day" : {},
|
||
|
"2030" : {
|
||
|
"filter" : {
|
||
|
"term" : {"year" : 2030 }
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
--------------------------------------------------
|
||
|
// CONSOLE
|