Amazon Elasticsearch Service
Developer Guide (API Version 2015-01-01)

Supported Elasticsearch Operations

Amazon ES supports many versions of Elasticsearch. The following topics show the operations that Amazon ES supports for each version.

Notable API Differences

Cluster Settings

Prior to Elasticsearch 5.3, the _cluster/settings API on Amazon ES domains supported only the HTTP PUT method, not the GET method. Newer versions support the GET method, as shown in the following example:

GET https://domain.region.es.amazonaws.com/_cluster/settings?pretty

A sample return follows:

{ "persistent" : { "cluster" : { "routing" : { "allocation" : { "cluster_concurrent_rebalance" : "2" } } }, "indices" : { "recovery" : { "max_bytes_per_sec" : "20mb" } } }, "transient" : { "cluster" : { "routing" : { "allocation" : { "exclude" : { "di_number" : "2" } } } } } }
  • cluster_concurrent_rebalance specifies the number of shards that can be relocated to new nodes at any given time.

  • max_bytes_per_sec is the maximum data transfer speed that Elasticsearch uses during a recovery event.

  • di_number is an internal Amazon ES value that is used to copy shards to new domain instances after configuration changes.

Shrink

The _shrink API can cause upgrades, configuration changes, and domain deletions to fail. We don't recommend using it on domains that run Elasticsearch versions 5.3 or 5.1. These versions have a bug that can cause snapshot restoration of shrunken indices to fail.

If you use the _shrink API on other Elasticsearch versions, make the following request before starting the shrink operation:

PUT https://domain.region.es.amazonaws.com/source-index/_settings { "settings": { "index.routing.allocation.require._name": "name-of-the-node-to-shrink-to", "index.blocks.read_only": true } }

Then make the following request after completing the shrink operation:

PUT https://domain.region.es.amazonaws.com/source-index/_settings { "settings": { "index.routing.allocation.require._name": null, "index.blocks.read_only": false } }

Version 6.3

For Elasticsearch 6.3, Amazon ES supports the following operations.

  • /_alias

  • /_aliases

  • /_all

  • /_analyze

  • /_bulk

  • /_cache/clear (Index only)

  • /_cat

  • /_cluster/allocation/explain

  • /_cluster/health

  • /_cluster/pending_tasks

  • /_cluster/settings for several properties4:

    • action.auto_create_index

    • action.search.shard_count.limit

    • indices.breaker.fielddata.limit

    • indices.breaker.request.limit

    • indices.breaker.total.limit

  • /_cluster/state

  • /_cluster/stats

  • /_count

  • /_delete_by_query1

  • /_explain

  • /_field_stats

  • /_flush

  • /_forcemerge (Index only)

  • /_ingest

  • /_mapping

  • /_mget

  • /_msearch

  • /_mtermvectors

  • /_nodes

  • /_plugin/kibana

  • /_rank_eval

  • /_recovery (Index only)

  • /_refresh

  • /_reindex1

  • /_rollover

  • /_scripts3

    /_search2

  • /_search profile

  • /_segments (Index only)

  • /_shard_stores

  • /_shrink5

  • /_snapshot

  • /_split

  • /_stats

  • /_status

  • /_tasks

  • /_template

  • /_termvectors (Index only)

  • /_update3

  • /_update_by_query1

  • /_validate

  1. Cluster configuration changes might interrupt these operations before completion. We recommend that you use the /_tasks operation along with these operations to verify that the requests completed successfully.

  2. DELETE requests to /_search/scroll with a message body must specify "Content-Length" in the HTTP header. Most clients add this header by default. To avoid a problem with = characters in scroll_id values, use the request body, not the query string, to pass scroll_id values to Amazon ES.

  3. For considerations about using scripts, see Other Supported Resources.

  4. Refers to the PUT method. For information about the GET method, see Notable API Differences.

  5. See Shrink.

Version 6.2

For Elasticsearch 6.2, Amazon ES supports the following operations.

  • /_alias

  • /_aliases

  • /_all

  • /_analyze

  • /_bulk

  • /_cache/clear (Index only)

  • /_cat

  • /_cluster/allocation/explain

  • /_cluster/health

  • /_cluster/pending_tasks

  • /_cluster/settings for several properties4:

    • action.auto_create_index

    • action.search.shard_count.limit

    • indices.breaker.fielddata.limit

    • indices.breaker.request.limit

    • indices.breaker.total.limit

  • /_cluster/state

  • /_cluster/stats

  • /_count

  • /_delete_by_query1

  • /_explain

  • /_field_stats

  • /_flush

  • /_forcemerge (Index only)

  • /_ingest

  • /_mapping

  • /_mget

  • /_msearch

  • /_mtermvectors

  • /_nodes

  • /_plugin/kibana

  • /_rank_eval

  • /_recovery (Index only)

  • /_refresh

  • /_reindex1

  • /_rollover

  • /_scripts3

    /_search2

  • /_search profile

  • /_segments (Index only)

  • /_shard_stores

  • /_shrink5

  • /_snapshot

  • /_split

  • /_stats

  • /_status

  • /_tasks

  • /_template

  • /_termvectors (Index only)

  • /_update3

  • /_update_by_query1

  • /_validate

  1. Cluster configuration changes might interrupt these operations before completion. We recommend that you use the /_tasks operation along with these operations to verify that the requests completed successfully.

  2. DELETE requests to /_search/scroll with a message body must specify "Content-Length" in the HTTP header. Most clients add this header by default. To avoid a problem with = characters in scroll_id values, use the request body, not the query string, to pass scroll_id values to Amazon ES.

  3. For considerations about using scripts, see Other Supported Resources.

  4. Refers to the PUT method. For information about the GET method, see Notable API Differences.

  5. See Shrink.

Version 6.0

For Elasticsearch 6.0, Amazon ES supports the following operations.

  • /_alias

  • /_aliases

  • /_all

  • /_analyze

  • /_bulk

  • /_cache/clear (Index only)

  • /_cat

  • /_cluster/allocation/explain

  • /_cluster/health

  • /_cluster/pending_tasks

  • /_cluster/settings for several properties4:

    • action.auto_create_index

    • action.search.shard_count.limit

    • indices.breaker.fielddata.limit

    • indices.breaker.request.limit

    • indices.breaker.total.limit

  • /_cluster/state

  • /_cluster/stats

  • /_count

  • /_delete_by_query1

  • /_explain

  • /_field_stats

  • /_flush

  • /_forcemerge (Index only)

  • /_ingest

  • /_mapping

  • /_mget

  • /_msearch

  • /_mtermvectors

  • /_nodes

  • /_plugin/kibana

  • /_recovery (Index only)

  • /_refresh

  • /_reindex1

  • /_rollover

  • /_scripts3

    /_search2

  • /_search profile

  • /_segments (Index only)

  • /_shard_stores

  • /_shrink5

  • /_snapshot

  • /_stats

  • /_status

  • /_tasks

  • /_template

  • /_termvectors (Index only)

  • /_update3

  • /_update_by_query1

  • /_validate

  1. Cluster configuration changes might interrupt these operations before completion. We recommend that you use the /_tasks operation along with these operations to verify that the requests completed successfully.

  2. DELETE requests to /_search/scroll with a message body must specify "Content-Length" in the HTTP header. Most clients add this header by default. To avoid a problem with = characters in scroll_id values, use the request body, not the query string, to pass scroll_id values to Amazon ES.

  3. For considerations about using scripts, see Other Supported Resources.

  4. Refers to the PUT method. For information about the GET method, see Notable API Differences.

  5. See Shrink.

Version 5.6

For Elasticsearch 5.6, Amazon ES supports the following operations.

  • /_alias

  • /_aliases

  • /_all

  • /_analyze

  • /_bulk

  • /_cache/clear (Index only)

  • /_cat

  • /_cluster/allocation/explain

  • /_cluster/health

  • /_cluster/pending_tasks

  • /_cluster/settings for several properties4:

    • action.auto_create_index

    • action.search.shard_count.limit

    • indices.breaker.fielddata.limit

    • indices.breaker.request.limit

    • indices.breaker.total.limit

  • /_cluster/state

  • /_cluster/stats

  • /_count

  • /_delete_by_query1

  • /_explain

  • /_field_stats

  • /_flush

  • /_forcemerge (Index only)

  • /_ingest

  • /_mapping

  • /_mget

  • /_msearch

  • /_mtermvectors

  • /_nodes

  • /_plugin/kibana

  • /_recovery (Index only)

  • /_refresh

  • /_reindex1

  • /_rollover

  • /_scripts3

    /_search2

  • /_search profile

  • /_segments (Index only)

  • /_shard_stores

  • /_shrink5

  • /_snapshot

  • /_stats

  • /_status

  • /_tasks

  • /_template

  • /_termvectors (Index only)

  • /_update3

  • /_update_by_query1

  • /_validate

  1. Cluster configuration changes might interrupt these operations before completion. We recommend that you use the /_tasks operation along with these operations to verify that the requests completed successfully.

  2. DELETE requests to /_search/scroll with a message body must specify "Content-Length" in the HTTP header. Most clients add this header by default. To avoid a problem with = characters in scroll_id values, use the request body, not the query string, to pass scroll_id values to Amazon ES.

  3. For considerations about using scripts, see Other Supported Resources.

  4. Refers to the PUT method. For information about the GET method, see Notable API Differences.

  5. See Shrink.

Version 5.5

For Elasticsearch 5.5, Amazon ES supports the following operations.

  • /_alias

  • /_aliases

  • /_all

  • /_analyze

  • /_bulk

  • /_cache/clear (Index only)

  • /_cat

  • /_cluster/allocation/explain

  • /_cluster/health

  • /_cluster/pending_tasks

  • /_cluster/settings for several properties4:

    • action.auto_create_index

    • action.search.shard_count.limit

    • indices.breaker.fielddata.limit

    • indices.breaker.request.limit

    • indices.breaker.total.limit

  • /_cluster/state

  • /_cluster/stats

  • /_count

  • /_delete_by_query1

  • /_explain

  • /_field_stats

  • /_flush

  • /_forcemerge (Index only)

  • /_ingest

  • /_mapping

  • /_mget

  • /_msearch

  • /_mtermvectors

  • /_nodes

  • /_plugin/kibana

  • /_recovery (Index only)

  • /_refresh

  • /_reindex1

  • /_rollover

  • /_scripts3

    /_search2

  • /_search profile

  • /_segments (Index only)

  • /_shard_stores

  • /_shrink5

  • /_snapshot

  • /_stats

  • /_status

  • /_tasks

  • /_template

  • /_termvectors (Index only)

  • /_update3

  • /_update_by_query1

  • /_validate

  1. Cluster configuration changes might interrupt these operations before completion. We recommend that you use the /_tasks operation along with these operations to verify that the requests completed successfully.

  2. DELETE requests to /_search/scroll with a message body must specify "Content-Length" in the HTTP header. Most clients add this header by default. To avoid a problem with = characters in scroll_id values, use the request body, not the query string, to pass scroll_id values to Amazon ES.

  3. For considerations about using scripts, see Other Supported Resources.

  4. Refers to the PUT method. For information about the GET method, see Notable API Differences.

  5. See Shrink.

Version 5.3

For Elasticsearch 5.3, Amazon ES supports the following operations.

  • /_alias

  • /_aliases

  • /_all

  • /_analyze

  • /_bulk

  • /_cache/clear (Index only)

  • /_cat

  • /_cluster/allocation/explain

  • /_cluster/health

  • /_cluster/pending_tasks

  • /_cluster/settings for several properties4:

    • action.auto_create_index

    • action.search.shard_count.limit

    • indices.breaker.fielddata.limit

    • indices.breaker.request.limit

    • indices.breaker.total.limit

  • /_cluster/state

  • /_cluster/stats

  • /_count

  • /_delete_by_query1

  • /_explain

  • /_field_stats

  • /_flush

  • /_forcemerge (Index only)

  • /_ingest

  • /_mapping

  • /_mget

  • /_msearch

  • /_mtermvectors

  • /_nodes

  • /_plugin/kibana

  • /_recovery (Index only)

  • /_refresh

  • /_reindex1

  • /_rollover

  • /_search2

  • /_search profile

  • /_segments (Index only)

  • /_shard_stores

  • /_shrink5

  • /_snapshot

  • /_stats

  • /_status

  • /_tasks

  • /_template

  • /_termvectors (Index only)

  • /_update3

  • /_update_by_query1

  • /_validate

  1. Cluster configuration changes might interrupt these operations before completion. We recommend that you use the /_tasks operation along with these operations to verify that the requests completed successfully.

  2. DELETE requests to /_search/scroll with a message body must specify "Content-Length" in the HTTP header. Most clients add this header by default. To avoid a problem with = characters in scroll_id values, use the request body, not the query string, to pass scroll_id values to Amazon ES.

  3. For considerations about using scripts, see Other Supported Resources.

  4. Refers to the PUT method. For information about the GET method, see Notable API Differences.

  5. See Shrink.

Version 5.1

For Elasticsearch 5.1, Amazon ES supports the following operations.

  • /_alias

  • /_aliases

  • /_all

  • /_analyze

  • /_bulk

  • /_cache/clear (Index only)

  • /_cat

  • /_cluster/allocation/explain

  • /_cluster/health

  • /_cluster/pending_tasks

  • /_cluster/settings for several properties (PUT only):

    • action.auto_create_index

    • action.search.shard_count.limit

    • indices.breaker.fielddata.limit

    • indices.breaker.request.limit

    • indices.breaker.total.limit

  • /_cluster/state

  • /_cluster/stats

  • /_count

  • /_delete_by_query1

  • /_explain

  • /_field_stats

  • /_flush

  • /_forcemerge (Index only)

  • /_ingest

  • /_mapping

  • /_mget

  • /_msearch

  • /_mtermvectors

  • /_nodes

  • /_plugin/kibana

  • /_recovery (Index only)

  • /_refresh

  • /_reindex1

  • /_rollover

  • /_search2

  • /_search profile

  • /_segments (Index only)

  • /_shard_stores

  • /_shrink4

  • /_snapshot

  • /_stats

  • /_status

  • /_tasks

  • /_template

  • /_termvectors (Index only)

  • /_update3

  • /_update_by_query1

  • /_validate

  1. Cluster configuration changes might interrupt these operations before completion. We recommend that you use the /_tasks operation along with these operations to verify that the requests completed successfully.

  2. DELETE requests to /_search/scroll with a message body must specify "Content-Length" in the HTTP header. Most clients add this header by default. To avoid a problem with = characters in scroll_id values, use the request body, not the query string, to pass scroll_id values to Amazon ES.

  3. For considerations about using scripts, see Other Supported Resources.

  4. See Shrink.

Version 2.3

For Elasticsearch 2.3, Amazon ES supports the following operations.

  • /_alias

  • /_aliases

  • /_all

  • /_analyze

  • /_bulk

  • /_cache/clear (Index only)

  • /_cat

  • /_cluster/health

  • /_cluster/settings for four properties (PUT only):

    • indices.breaker.fielddata.limit

    • indices.breaker.request.limit

    • indices.breaker.total.limit

    • threadpool.bulk.queue_size

  • /_cluster/stats

  • /_count

  • /_flush

  • /_forcemerge (Index only)

  • /_mapping

  • /_mget

  • /_msearch

  • /_nodes

  • /_percolate

  • /_plugin/kibana

  • /_recovery (Index only)

  • /_refresh

  • /_search

  • /_segments (Index only)

  • /_snapshot

  • /_stats

  • /_status

  • /_template

Version 1.5

For Elasticsearch 1.5, Amazon ES supports the following operations.

  • /_alias

  • /_aliases

  • /_all

  • /_analyze

  • /_bulk

  • /_cat

  • /_cluster/health

  • /_cluster/settings for four properties (PUT only):

    • indices.breaker.fielddata.limit

    • indices.breaker.request.limit

    • indices.breaker.total.limit

    • threadpool.bulk.queue_size

  • /_cluster/stats

  • /_count

  • /_flush

  • /_mapping

  • /_mget

  • /_msearch

  • /_nodes

  • /_percolate

  • /_plugin/kibana

  • /_plugin/kibana3

  • /_refresh

  • /_search

  • /_snapshot

  • /_stats

  • /_status

  • /_template