Commit Graph

73 Commits

Author SHA1 Message Date
Martijn van Groningen 3dde09a7b4
Add filter support to data stream aliases (#74784)
This allows specifying a query as filter on data stream alias,
which will then always be applied when searching via this alias.

Relates #66163
2021-07-20 11:21:27 +02:00
James Rodewig ed1999e935
[DOCS] Update wildcard support for removing aliases (#74561)
You can now use a wildcard pattern to remove data stream and index
aliases in the same action/request.

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2021-06-28 08:53:45 -04:00
James Rodewig 74bc81c23e
[DOCS] Update alias API docs for data stream aliases (#73419)
Updates the docs for several alias APIs for data stream aliases. Also
removes some redundant examples now covered in the [aliases guide][0].

[0]: https://www.elastic.co/guide/en/elasticsearch/reference/master/alias.html
2021-06-01 08:45:22 -04:00
James Rodewig b1ad71b077
[DOCS] Add alias guide (#73062)
Creates a guide for aliases. We can use this guide to house concepts, examples,
and tips for aliases.
2021-05-25 11:52:16 -04:00
Martijn van Groningen 4b2c3ab0b7
The get aliases api should not return entries for data streams with no aliases (#72953)
The get alias api should take into account the aliases parameter when
returning aliases that refer to data streams and don't return entries
for data streams that don't have any aliases pointing to it.

Relates to #66163
2021-05-19 10:07:11 +02:00
James Rodewig c9223a25a4
[DOCS] Update anchor for alias write index (#73108)
Updates the anchor for our alias write index content. Changes are no-op, but this helps prepare for future work on alias docs.
2021-05-14 12:35:25 -04:00
James Rodewig 34d5f6c246
[DOCS] Consolidate `routing` parameter definitions (#73107)
Combines duplicate definitions for the `routing` parameter.
2021-05-14 12:27:19 -04:00
James Rodewig b564650ed0
[DOCS] Rename `Bulk index alias` API to `Aliases` API (#73077)
In 7.14, the API supports both index and data stream aliases.
2021-05-14 07:41:11 -04:00
Martijn van Groningen 6689b8bf1c
Add basic alias support for data streams (#72613)
Aliases to data streams can be defined via the existing update aliases api.
Aliases can either only refer to data streams or to indices (not both).
Also the existing get aliases api has been modified to support returning
aliases that refer to data streams.

Aliases for data streams are stored separately from data streams and
and refer to data streams by name and not to the backing indices of
a data stream. This means that when backing indices are added or removed
from a data stream that then the data stream alias doesn't need to be
updated.

The authorization model for aliases that refer to data streams is the
same as for aliases the refer to indices. In security privileges can
be defined on aliases, indices and data streams. When a privilege is
granted on an alias then access is also granted on the indices that
an alias refers to (irregardless whether privileges are granted or denied
on the actual indices). The same will apply for aliases that refer
to data streams. See for more details:
https://github.com/elastic/elasticsearch/issues/66163#issuecomment-824709767

Relates to #66163
2021-05-11 09:51:05 +02:00
Pierre Grimaud 3c44dfec60
[DOCS] Fix typos (#72227) 2021-04-26 12:40:38 -04:00
Tommmster a767350859
[DOCS] Document date math support for aliases (#70535)
Co-authored-by: James Rodewig <40268737+jrodewig@users.noreply.github.com>
2021-03-18 10:52:48 -04:00
James Rodewig 5c75d004fa
[DOCS] Replace `put` with `create or update` in API names (#70330)
Co-authored-by: debadair <debadair@elastic.co>
Co-authored-by: Lisa Cawley <lcawley@elastic.co>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2021-03-15 14:49:44 -04:00
James Rodewig 81c3cba8a8
[DOCS] Add security privileges to index API docs (#68071) 2021-01-28 08:53:10 -05:00
James Rodewig c7a11b5719 [DOCS] Fix `remove_index` callout 2020-11-05 09:09:16 -05:00
Rudolf Meijering 33a38d461f
[DOCS] POST /_aliases remove_index action only works on concrete indices (#64616) 2020-11-05 08:14:19 -05:00
James Rodewig 1ea83359bb
[DOCS] Fix case for 'Boolean' (#64299) 2020-10-29 09:04:43 -04:00
James Rodewig ae01606785
[DOCS] Replace `twitter` dataset in docs (#60604) 2020-08-03 12:49:56 -04:00
James Rodewig 724f706f89
[DOCS] Replace `twitter` dataset in docs APIs (#60521) 2020-07-31 11:52:26 -04:00
James Rodewig 3728ae6811
[DOCS] Replace `twitter` dataset in index API docs (#60473) 2020-07-31 09:09:54 -04:00
James Rodewig 80b674fb25
[DOCS] Reformat snippets to use two-space indents (#59973) 2020-07-21 12:24:26 -04:00
James Rodewig 4718953469
[DOCS] Document index aliases do not support data streams (#59321) 2020-07-09 16:32:07 -04:00
Grzegorz Banasiak bee43b9fd0
[DOCS] Clarify atomic change for alias swaps (#59154)
Small edit highlighting the fact that atomic cluster state change does not guarantee lack of errors for in-flight requests.

Co-authored-by: James Rodewig <james.rodewig@elastic.co>
2020-07-07 11:38:54 -04:00
Russ Cam e54402526c
[DOCS] Update aliases to indicate array (#58469)
Updates the aliases documentation
to correct the parameter to an array.
2020-06-24 09:38:53 -04:00
Yannick Welsch b305454e23
Add new flag to check whether alias exists on remove (#58100)
This allows doing true CAS operations on aliases, making sure that an alias is actually properly
moved from a given source index onto a given target index. This is useful to ensure that an
alias is actually moved from a given index to another one, and not just added to another index.
2020-06-18 10:05:14 +02:00
Lisa Cawley 8b9293b3bf
[DOCS] Replace docdir attribute with es-repo-dir (#57489) 2020-06-01 15:55:05 -07:00
James Rodewig 1cd172774f
[DOCS] Document index alias swaps are atomic (#55418)
Co-authored-by: Tugberk Ugurlu <tugberk@outlook.com>
2020-05-27 10:07:29 -04:00
Gordon Brown 351c2f9d40
Implement hidden aliases (#52547)
This commit introduces hidden aliases. These are similar to hidden
indices, in that they are not visible by default, unless explicitly
specified by name or by indicating that hidden indices/aliases are
desired.

The new alias property, `is_hidden` is implemented similarly to
`is_write_index`, except that it must be consistent across all indices
with a given alias - that is, all indices with a given alias must
specify the alias as either hidden, or all specify it as non-hidden,
either explicitly or by omitting the `is_hidden` property.
2020-03-03 16:30:22 -07:00
bellengao cecee07cb1
[DOC] Remove definition typo in update alias API docs (#52184)
Removes an erroneously duplicated definition heading from the update alias API reference docs.
2020-02-14 08:30:26 -05:00
James Rodewig e8f32d4f4c
[DOCS] Update tagged region for index alias desc (#46886) 2019-09-19 15:23:52 -04:00
James Rodewig b63bb8c37b
[DOCS] Add index alias definition to glossary (#46339) 2019-09-06 11:35:27 -04:00
James Rodewig 97802d8aff
[DOCS] Change // CONSOLE comments to [source,console] (#46441) 2019-09-06 10:55:16 -04:00
James Rodewig f61515be68
[DOCS] Reformat update index aliases API docs (#46093) 2019-08-29 11:18:18 -04:00
James Rodewig effb6502d7
[DOCS] Separate add index alias API docs (#46086) 2019-08-29 10:38:48 -04:00
James Rodewig 947fccbda3
[DOCS] Add get index alias API docs (#46046) 2019-08-29 09:44:58 -04:00
James Rodewig 05cb601ad3
[DOCS] Add index alias exists API docs (#46042) 2019-08-28 08:58:09 -04:00
James Rodewig fab98dfa55
[DOCS] Remove heading offsets for REST APIs (#44568)
Several files in the REST APIs nav section are included using
:leveloffset: tags. This increments headings (h2 -> h3, h3 -> h4, etc.)
in those files and removes the :leveloffset: tags.

Other supporting changes:
* Alphabetizes top-level REST API nav items.
* Change 'indices APIs' heading to 'index APIs.'
* Changes 'Snapshot lifecycle management' heading to sentence case.
2019-07-19 14:35:36 -04:00
Tal Levy 3ac77ae1c1
add missing `test2` index in alias example (#39212)
* missing 'test2' index example (#39055)

If I got the idea of aliases properly, I think that the index "test2" should have a reference in the example above of the following sentence:

" ... we associate the alias `alias1` to both `test` and `test2` ... "

* add PUT test2

* Update aliases.asciidoc

swap which is write/read
2019-02-20 16:27:34 -08:00
Christoph Büscher 3a96608b3f
Remove more include_type_name and types from docs (#37601) 2019-01-18 14:11:18 +01:00
Julie Tibshirani 36a3b84fc9
Update the default for include_type_name to false. (#37285)
* Default include_type_name to false for get and put mappings.

* Default include_type_name to false for get field mappings.

* Add a constant for the default include_type_name value.

* Default include_type_name to false for get and put index templates.

* Default include_type_name to false for create index.

* Update create index calls in REST documentation to use include_type_name=true.

* Some minor clean-ups around the get index API.

* In REST tests, use include_type_name=true by default for index creation.

* Make sure to use 'expression == false'.

* Clarify the different IndexTemplateMetaData toXContent methods.

* Fix FullClusterRestartIT#testSnapshotRestore.

* Fix the ml_anomalies_default_mappings test.

* Fix GetFieldMappingsResponseTests and GetIndexTemplateResponseTests.

We make sure to specify include_type_name=true during xContent parsing,
so we continue to test the legacy typed responses. XContent generation
for the typeless responses is currently only covered by REST tests,
but we will be adding unit test coverage for these as we implement
each typeless API in the Java HLRC.

This commit also refactors GetMappingsResponse to follow the same appraoch
as the other mappings-related responses, where we read include_type_name
out of the xContent params, instead of creating a second toXContent method.
This gives better consistency in the response parsing code.

* Fix more REST tests.

* Improve some wording in the create index documentation.

* Add a note about types removal in the create index docs.

* Fix SmokeTestMonitoringWithSecurityIT#testHTTPExporterWithSSL.

* Make sure to mention include_type_name in the REST docs for affected APIs.

* Make sure to use 'expression == false' in FullClusterRestartIT.

* Mention include_type_name in the REST templates docs.
2019-01-14 13:08:01 -08:00
Julie Tibshirani f854330e06
Make sure to use the type _doc in the REST documentation. (#34662)
* Replace custom type names with _doc in REST examples.
* Avoid using two mapping types in the percolator docs.
* Rename doc -> _doc in the main repository README.
* Also replace some custom type names in the HLRC docs.
2018-10-22 11:54:04 -07:00
Tal Levy 1e0fcebfe1
update rollover to leverage write-alias semantics (#32216)
Rollover should not swap aliases when `is_write_index` is set to `true`.
Instead, both the new and old indices should have the rollover alias,
with the newly created index as the new write index

Updates Rollover to leverage the ability to preserve aliases and swap which is the write index.

Historically, Rollover would swap which index had the designated alias for writing documents against. This required users to keep a separate read-alias that enabled reading against both rolled over and newly created indices, whiles the write-alias was being re-assigned at every rollover.

With the ability for aliases to designate a write index, Rollover can be a bit more flexible with its use of aliases.

Updates include:

- Rollover validates that the target alias has a write index (the index that is being rolled over). This means that the restriction that aliases only point to one index is no longer necessary.
- Rollover explicitly (and atomically) swaps which index is the write-index by explicitly assigning the existing index to have `is_write_index: false` and have the newly created index have its rollover alias as `is_write_index: true`. This is only done when `is_write_index: true` on the write index. Default behavior of removing the alias from the rolled over index stays when `is_write_index` is not explicitly set

Relevant things that are staying the same:

- Rollover is rejected if there exist any templates that match the newly-created index and configure the rollover-alias
   - I think this existed to prevent the situation where an alias pointed to two indices for a short while. Although this can technically be relaxed, the specific cases that are safe are really particular and difficult to reason, so leaving the broad restriction sounds good
2018-07-30 14:32:55 -07:00
Piotr Prądzyński 99030e7af5 Docs: Inconsistency between description and example (#31858) 2018-07-06 12:44:20 -04:00
Tal Levy 3b70e943eb
add is-write-index flag to aliases (#30942)
This commit adds the is-write-index flag for aliases.
It allows requests to set the flag, and responses to display the flag.
It does not validate and/or affect any indexing/getting/updating behavior
of Elasticsearch -- this will be done in a follow-up PR.
2018-06-15 08:45:29 -07:00
Clinton Gormley 0170e0e8d3 Remove usage of multi-types from the docs and added a page explaining type removal (#25543)
Closes #25401
2017-07-05 12:30:19 +02:00
Wesley Merkel 7994703903 [Docs] Fix some errors in the index aliases docs (#25449) 2017-07-05 11:16:17 +02:00
Brian Lesperance 959990728b Docs: Fix grammar in aliases doc (#24852) 2017-05-24 10:18:25 -04:00
Emir Beganović f4f6ce4b91 Docs: fix some case problems in aliases.asciidoc (#23657)
Make more things uppercase.
2017-04-17 21:45:19 -04:00
Nik Everett df73292256 Add an alias action to delete an index
While removing an index isn't actually an alias action, if we add
an alias action that deletes an index then we can delete and index
and add an alias with the same name as the index atomically, in
the same cluster state update.

Closes #20064
2016-08-30 10:15:21 -04:00
polyfractal 2c1b9b67db [DOCS] Add missing index to test setup
#19884 fixed the aliases, but didn't add `index2` to the test setup which causes the
alias command to fail
2016-08-16 11:55:56 -04:00
Ludo eea1bc719b Swap a index for the same alias (#19884)
In the example there was a alias removed and then a different alias created for the same index, but I think actually swapping a index by another one for the same alias would make more sense as an example here.
2016-08-16 15:24:42 +02:00