WARNING: Version 2.1 of Elasticsearch has passed its EOL date.
This documentation is no longer being maintained and may be removed. If you are running this version, we strongly advise you to upgrade. For the latest information, see the current release documentation.
Search Shards API
editSearch Shards API
editThe search shards api returns the indices and shards that a search request would be executed against. This can give useful feedback for working out issues or planning optimizations with routing and shard preferences.
The index
and type
parameters may be single values, or comma-separated.
Usage
editFull example:
curl -XGET 'localhost:9200/twitter/_search_shards'
This will yield the following result:
{ "nodes": { "JklnKbD7Tyqi9TP3_Q_tBg": { "name": "Rl'nnd", "transport_address": "inet[/192.168.1.113:9300]" } }, "shards": [ [ { "index": "twitter", "node": "JklnKbD7Tyqi9TP3_Q_tBg", "primary": true, "relocating_node": null, "shard": 3, "state": "STARTED" } ], [ { "index": "twitter", "node": "JklnKbD7Tyqi9TP3_Q_tBg", "primary": true, "relocating_node": null, "shard": 4, "state": "STARTED" } ], [ { "index": "twitter", "node": "JklnKbD7Tyqi9TP3_Q_tBg", "primary": true, "relocating_node": null, "shard": 0, "state": "STARTED" } ], [ { "index": "twitter", "node": "JklnKbD7Tyqi9TP3_Q_tBg", "primary": true, "relocating_node": null, "shard": 2, "state": "STARTED" } ], [ { "index": "twitter", "node": "JklnKbD7Tyqi9TP3_Q_tBg", "primary": true, "relocating_node": null, "shard": 1, "state": "STARTED" } ] ] }
And specifying the same request, this time with a routing value:
curl -XGET 'localhost:9200/twitter/_search_shards?routing=foo,baz'
This will yield the following result:
{ "nodes": { "JklnKbD7Tyqi9TP3_Q_tBg": { "name": "Rl'nnd", "transport_address": "inet[/192.168.1.113:9300]" } }, "shards": [ [ { "index": "twitter", "node": "JklnKbD7Tyqi9TP3_Q_tBg", "primary": true, "relocating_node": null, "shard": 2, "state": "STARTED" } ], [ { "index": "twitter", "node": "JklnKbD7Tyqi9TP3_Q_tBg", "primary": true, "relocating_node": null, "shard": 4, "state": "STARTED" } ] ] }
This time the search will only be executed against two of the shards, because routing values have been specified.
All parameters:
edit
|
A comma-separated list of routing values to take into account when determining which shards a request would be executed against. |
|
Controls a |
|
A boolean value whether to read the cluster state locally in order to determine where shards are allocated instead of using the Master node’s cluster state. |