Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[DOCS] Reformat open index API docs #45921

Merged
merged 3 commits into from
Aug 27, 2019
Merged
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
126 changes: 78 additions & 48 deletions docs/reference/indices/open-close.asciidoc
Original file line number Diff line number Diff line change
@@ -1,8 +1,32 @@
[[indices-open-close]]
=== Open / Close Index API
=== Open index API
++++
<titleabbrev>Open index</titleabbrev>
++++

The open and close index APIs allow to close an index, and later on
opening it.
Opens a closed index.

[source,js]
--------------------------------------------------
POST /twitter/_open
--------------------------------------------------
// CONSOLE
// TEST[setup:twitter]
// TEST[s/^/POST \/twitter\/_close\n/]


[[open-index-api-request]]
==== {api-request-title}

`POST /<index>/_open`


[[open-index-api-desc]]
==== {api-description-title}

You use the open index API to re-open closed indices.

jrodewig marked this conversation as resolved.
Show resolved Hide resolved
// tag:closed-index

A closed index is blocked for read/write operations and does not allow
all operations that opened indices allow. It is not possible to index
Expand All @@ -18,34 +42,61 @@ data of opened/closed indices is automatically replicated by the
cluster to ensure that enough shard copies are safely kept around
at all times.

The REST endpoint is `/{index}/_close` and `/{index}/_open`.
You can open and close multiple indices. An error is thrown
if the request explicitly refers to a missing index. This behaviour can be
jrodewig marked this conversation as resolved.
Show resolved Hide resolved
jrodewig marked this conversation as resolved.
Show resolved Hide resolved
disabled using the `ignore_unavailable=true` parameter.

The following example shows how to close an index:
All indices can be opened or closed at once using `_all` as the index name
or specifying patterns that identify them all (e.g. `*`).

[source,js]
--------------------------------------------------
POST /my_index/_close
--------------------------------------------------
// CONSOLE
// TEST[s/^/PUT my_index\n/]
Identifying indices via wildcards or `_all` can be disabled by setting the
`action.destructive_requires_name` flag in the config file to `true`.
This setting can also be changed via the cluster update settings api.

This will return the following response:
Closed indices consume a significant amount of disk-space which can cause problems in managed environments. Closing indices can be disabled via the cluster settings
API by setting `cluster.indices.close.enable` to `false`. The default is `true`.

[source,js]
--------------------------------------------------
{
"acknowledged" : true,
"shards_acknowledged" : true,
"indices" : {
"my_index" : {
"closed" : true
}
}
}
--------------------------------------------------
// TESTRESPONSE
===== Wait For active shards

A closed index can be reopened like this:
Because opening or closing an index allocates its shards, the
<<create-index-wait-for-active-shards,`wait_for_active_shards`>> setting on
index creation applies to the `_open` and `_close` index actions as well.

// end:closed-index


[[open-index-api-path-params]]
==== {api-path-parms-title}

include::{docdir}/rest-api/common-parms.asciidoc[tag=index]
+
To open all indices, use `_all` or `*`.
To disallow the opening of indices with `_all` or wildcard expressions,
change the `action.destructive_requires_name` cluster setting to `true`.
You can update this setting in the `elasticsearch.yml` file
or using the <<cluster-update-settings,cluster update settings>> API.


[[open-index-api-query-params]]
==== {api-query-parms-title}

include::{docdir}/rest-api/common-parms.asciidoc[tag=allow-no-indices]

include::{docdir}/rest-api/common-parms.asciidoc[tag=expand-wildcards]
+
Defaults to `closed`.

include::{docdir}/rest-api/common-parms.asciidoc[tag=index-ignore-unavailable]

include::{docdir}/rest-api/common-parms.asciidoc[tag=doc-wait-for-active-shards]

include::{docdir}/rest-api/common-parms.asciidoc[tag=timeoutparms]


[[open-index-api-example]]
==== {api-examples-title}

A closed index can be re-opened like this:

[source,js]
--------------------------------------------------
Expand All @@ -54,7 +105,7 @@ POST /my_index/_open
// CONSOLE
// TEST[s/^/PUT my_index\nPOST my_index\/_close\n/]

which will yield the following response:
The API returns the following response:

[source,js]
--------------------------------------------------
Expand All @@ -64,24 +115,3 @@ which will yield the following response:
}
--------------------------------------------------
// TESTRESPONSE

It is possible to open and close multiple indices. An error will be thrown
if the request explicitly refers to a missing index. This behaviour can be
disabled using the `ignore_unavailable=true` parameter.

All indices can be opened or closed at once using `_all` as the index name
or specifying patterns that identify them all (e.g. `*`).

Identifying indices via wildcards or `_all` can be disabled by setting the
`action.destructive_requires_name` flag in the config file to `true`.
This setting can also be changed via the cluster update settings api.

Closed indices consume a significant amount of disk-space which can cause problems in managed environments. Closing indices can be disabled via the cluster settings
API by setting `cluster.indices.close.enable` to `false`. The default is `true`.

[float]
==== Wait For Active Shards

Because opening or closing an index allocates its shards, the
<<create-index-wait-for-active-shards,`wait_for_active_shards`>> setting on
index creation applies to the `_open` and `_close` index actions as well.