Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions docs/reference/indices.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ index settings, aliases, mappings, and index templates.
[float]
[[alias-management]]
=== Alias management:
* <<indices-add-alias>>
* <<indices-get-alias>>
* <<indices-alias-exists>>
* <<indices-aliases>>
Expand Down Expand Up @@ -94,6 +95,8 @@ include::indices/get-field-mapping.asciidoc[]

include::indices/types-exists.asciidoc[]

include::indices/add-alias.asciidoc[]

include::indices/get-alias.asciidoc[]

include::indices/alias-exists.asciidoc[]
Expand Down
139 changes: 139 additions & 0 deletions docs/reference/indices/add-alias.asciidoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,139 @@
[[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
119 changes: 0 additions & 119 deletions docs/reference/indices/aliases.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -339,122 +339,3 @@ only reference one index, will have that referenced index behave as if it is the
until an additional index is referenced. At that point, there will be no write index and
writes will be rejected.
=====================================

[float]
[[alias-adding]]
==== Add a single alias

An alias can also be added with the endpoint

`PUT /{index}/_alias/{name}`


where

[horizontal]
`index`:: The index the alias refers to. Can be any of `* | _all | glob pattern | name1, name2, …`
`name`:: The name of the alias. This is a required option.
`routing`:: An optional routing that can be associated with an alias.
`filter`:: An optional filter that can be associated with an alias.

You can also use the plural `_aliases`.

[float]
===== Examples:

Adding time based alias::
+
--
[source,js]
--------------------------------------------------
PUT /logs_201305/_alias/2013
--------------------------------------------------
// CONSOLE
// TEST[s/^/PUT logs_201305\n/]
--

Adding a user alias::
+
--
First create the index and add a mapping for the `user_id` field:

[source,js]
--------------------------------------------------
PUT /users
{
"mappings" : {
"properties" : {
"user_id" : {"type" : "integer"}
}
}
}
--------------------------------------------------
// CONSOLE

Then add the alias for a specific user:

[source,js]
--------------------------------------------------
PUT /users/_alias/user_12
{
"routing" : "12",
"filter" : {
"term" : {
"user_id" : 12
}
}
}
--------------------------------------------------
// CONSOLE
// TEST[continued]

--

[float]
[[alias-index-creation]]
==== Aliases during index creation

Aliases can also be specified during <<create-index-aliases,index creation>>:

[source,js]
--------------------------------------------------
PUT /logs_20162801
{
"mappings" : {
"properties" : {
"year" : {"type" : "integer"}
}
},
"aliases" : {
"current_day" : {},
"2016" : {
"filter" : {
"term" : {"year" : 2016 }
}
}
}
}
--------------------------------------------------
// CONSOLE

[float]
[[deleting]]
==== Delete aliases


The rest endpoint is: `/{index}/_alias/{name}`

where

[horizontal]
`index`:: `* | _all | glob pattern | name1, name2, …`
`name`:: `* | _all | glob pattern | name1, name2, …`

Alternatively you can use the plural `_aliases`. Example:

[source,js]
--------------------------------------------------
DELETE /logs_20162801/_alias/current_day
--------------------------------------------------
// CONSOLE
// TEST[continued]
15 changes: 15 additions & 0 deletions docs/reference/rest-api/common-parms.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,14 @@ tag::flat-settings[]
`false`.
end::flat-settings[]

tag::index-alias-filter[]
<<query-dsl-bool-query, Filter query>>
used to limit the index alias.
+
If specified,
the index alias only applies to documents returned by the filter.
end::index-alias-filter[]

tag::http-format[]
`format`::
(Optional, string) Short version of the
Expand Down Expand Up @@ -305,6 +313,13 @@ tag::version[]
(Optional, boolean) If `true`, returns the document version as part of a hit.
end::version[]

tag::index-routing[]
`routing`::
(Optional, string)
Custom <<mapping-routing-field, routing value>>
used to route operations to a specific shard.
end::index-routing[]

tag::doc-version[]
`version`::
(Optional, integer) Explicit version number for concurrency control.
Expand Down