123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190 |
- [[search-shards]]
- === Search Shards API
- Returns the indices and shards that a search request would be executed against.
- [source,console]
- --------------------------------------------------
- GET /my-index-000001/_search_shards
- --------------------------------------------------
- // TEST[s/^/PUT my-index-000001\n{"settings":{"index.number_of_shards":5}}\n/]
- [[search-shards-api-request]]
- ==== {api-request-title}
- `GET /<index>/_search_shards`
- [[search-shards-api-desc]]
- ==== {api-description-title}
- The 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. When filtered aliases
- are used, the filter is returned as part of the `indices` section.
- [[search-shards-api-path-params]]
- ==== {api-path-parms-title}
- include::{es-repo-dir}/rest-api/common-parms.asciidoc[tag=index]
- [[search-shards-api-query-params]]
- ==== {api-query-parms-title}
- include::{es-repo-dir}/rest-api/common-parms.asciidoc[tag=allow-no-indices]
- +
- Defaults to `true`.
- include::{es-repo-dir}/rest-api/common-parms.asciidoc[tag=expand-wildcards]
- +
- --
- Defaults to `open`.
- --
- include::{es-repo-dir}/rest-api/common-parms.asciidoc[tag=index-ignore-unavailable]
- include::{es-repo-dir}/rest-api/common-parms.asciidoc[tag=local]
- include::{es-repo-dir}/rest-api/common-parms.asciidoc[tag=preference]
- include::{es-repo-dir}/rest-api/common-parms.asciidoc[tag=routing]
- [[search-shards-api-example]]
- ==== {api-examples-title}
- [source,console]
- --------------------------------------------------
- GET /my-index-000001/_search_shards
- --------------------------------------------------
- // TEST[s/^/PUT my-index-000001\n{"settings":{"index.number_of_shards":5}}\n/]
- The API returns the following result:
- [source,console-result]
- --------------------------------------------------
- {
- "nodes": ...,
- "indices" : {
- "my-index-000001": { }
- },
- "shards": [
- [
- {
- "index": "my-index-000001",
- "node": "JklnKbD7Tyqi9TP3_Q_tBg",
- "primary": true,
- "shard": 0,
- "state": "STARTED",
- "allocation_id": {"id":"0TvkCyF7TAmM1wHP4a42-A"},
- "relocating_node": null
- }
- ],
- [
- {
- "index": "my-index-000001",
- "node": "JklnKbD7Tyqi9TP3_Q_tBg",
- "primary": true,
- "shard": 1,
- "state": "STARTED",
- "allocation_id": {"id":"fMju3hd1QHWmWrIgFnI4Ww"},
- "relocating_node": null
- }
- ],
- [
- {
- "index": "my-index-000001",
- "node": "JklnKbD7Tyqi9TP3_Q_tBg",
- "primary": true,
- "shard": 2,
- "state": "STARTED",
- "allocation_id": {"id":"Nwl0wbMBTHCWjEEbGYGapg"},
- "relocating_node": null
- }
- ],
- [
- {
- "index": "my-index-000001",
- "node": "JklnKbD7Tyqi9TP3_Q_tBg",
- "primary": true,
- "shard": 3,
- "state": "STARTED",
- "allocation_id": {"id":"bU_KLGJISbW0RejwnwDPKw"},
- "relocating_node": null
- }
- ],
- [
- {
- "index": "my-index-000001",
- "node": "JklnKbD7Tyqi9TP3_Q_tBg",
- "primary": true,
- "shard": 4,
- "state": "STARTED",
- "allocation_id": {"id":"DMs7_giNSwmdqVukF7UydA"},
- "relocating_node": null
- }
- ]
- ]
- }
- --------------------------------------------------
- // TESTRESPONSE[s/"nodes": ...,/"nodes": $body.nodes,/]
- // TESTRESPONSE[s/JklnKbD7Tyqi9TP3_Q_tBg/$body.shards.0.0.node/]
- // TESTRESPONSE[s/0TvkCyF7TAmM1wHP4a42-A/$body.shards.0.0.allocation_id.id/]
- // TESTRESPONSE[s/fMju3hd1QHWmWrIgFnI4Ww/$body.shards.1.0.allocation_id.id/]
- // TESTRESPONSE[s/Nwl0wbMBTHCWjEEbGYGapg/$body.shards.2.0.allocation_id.id/]
- // TESTRESPONSE[s/bU_KLGJISbW0RejwnwDPKw/$body.shards.3.0.allocation_id.id/]
- // TESTRESPONSE[s/DMs7_giNSwmdqVukF7UydA/$body.shards.4.0.allocation_id.id/]
- Specifying the same request, this time with a routing value:
- [source,console]
- --------------------------------------------------
- GET /my-index-000001/_search_shards?routing=foo,bar
- --------------------------------------------------
- // TEST[s/^/PUT my-index-000001\n{"settings":{"index.number_of_shards":5}}\n/]
- The API returns the following result:
- [source,console-result]
- --------------------------------------------------
- {
- "nodes": ...,
- "indices" : {
- "my-index-000001": { }
- },
- "shards": [
- [
- {
- "index": "my-index-000001",
- "node": "JklnKbD7Tyqi9TP3_Q_tBg",
- "primary": true,
- "shard": 2,
- "state": "STARTED",
- "allocation_id": {"id":"fMju3hd1QHWmWrIgFnI4Ww"},
- "relocating_node": null
- }
- ],
- [
- {
- "index": "my-index-000001",
- "node": "JklnKbD7Tyqi9TP3_Q_tBg",
- "primary": true,
- "shard": 3,
- "state": "STARTED",
- "allocation_id": {"id":"0TvkCyF7TAmM1wHP4a42-A"},
- "relocating_node": null
- }
- ]
- ]
- }
- --------------------------------------------------
- // TESTRESPONSE[s/"nodes": ...,/"nodes": $body.nodes,/]
- // TESTRESPONSE[s/JklnKbD7Tyqi9TP3_Q_tBg/$body.shards.1.0.node/]
- // TESTRESPONSE[s/0TvkCyF7TAmM1wHP4a42-A/$body.shards.1.0.allocation_id.id/]
- // TESTRESPONSE[s/fMju3hd1QHWmWrIgFnI4Ww/$body.shards.0.0.allocation_id.id/]
- Because of the specified routing values,
- the search is only executed against two of the shards.
|