192 lines
5.1 KiB
Plaintext
192 lines
5.1 KiB
Plaintext
[[search-shards]]
|
|
=== Search Shards API
|
|
|
|
Returns the indices and shards that a search request would be executed against.
|
|
|
|
[source,js]
|
|
--------------------------------------------------
|
|
GET /twitter/_search_shards
|
|
--------------------------------------------------
|
|
// CONSOLE
|
|
// TEST[s/^/PUT twitter\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::{docdir}/rest-api/common-parms.asciidoc[tag=index]
|
|
|
|
|
|
[[search-shards-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 `open`.
|
|
--
|
|
|
|
include::{docdir}/rest-api/common-parms.asciidoc[tag=index-ignore-unavailable]
|
|
|
|
include::{docdir}/rest-api/common-parms.asciidoc[tag=local]
|
|
|
|
include::{docdir}/rest-api/common-parms.asciidoc[tag=preference]
|
|
|
|
include::{docdir}/rest-api/common-parms.asciidoc[tag=routing]
|
|
|
|
|
|
[[search-shards-api-example]]
|
|
==== {api-examples-title}
|
|
|
|
[source,js]
|
|
--------------------------------------------------
|
|
GET /twitter/_search_shards
|
|
--------------------------------------------------
|
|
// CONSOLE
|
|
// TEST[s/^/PUT twitter\n{"settings":{"index.number_of_shards":5}}\n/]
|
|
|
|
The API returns the following result:
|
|
|
|
[source,console-result]
|
|
--------------------------------------------------
|
|
{
|
|
"nodes": ...,
|
|
"indices" : {
|
|
"twitter": { }
|
|
},
|
|
"shards": [
|
|
[
|
|
{
|
|
"index": "twitter",
|
|
"node": "JklnKbD7Tyqi9TP3_Q_tBg",
|
|
"primary": true,
|
|
"shard": 0,
|
|
"state": "STARTED",
|
|
"allocation_id": {"id":"0TvkCyF7TAmM1wHP4a42-A"},
|
|
"relocating_node": null
|
|
}
|
|
],
|
|
[
|
|
{
|
|
"index": "twitter",
|
|
"node": "JklnKbD7Tyqi9TP3_Q_tBg",
|
|
"primary": true,
|
|
"shard": 1,
|
|
"state": "STARTED",
|
|
"allocation_id": {"id":"fMju3hd1QHWmWrIgFnI4Ww"},
|
|
"relocating_node": null
|
|
}
|
|
],
|
|
[
|
|
{
|
|
"index": "twitter",
|
|
"node": "JklnKbD7Tyqi9TP3_Q_tBg",
|
|
"primary": true,
|
|
"shard": 2,
|
|
"state": "STARTED",
|
|
"allocation_id": {"id":"Nwl0wbMBTHCWjEEbGYGapg"},
|
|
"relocating_node": null
|
|
}
|
|
],
|
|
[
|
|
{
|
|
"index": "twitter",
|
|
"node": "JklnKbD7Tyqi9TP3_Q_tBg",
|
|
"primary": true,
|
|
"shard": 3,
|
|
"state": "STARTED",
|
|
"allocation_id": {"id":"bU_KLGJISbW0RejwnwDPKw"},
|
|
"relocating_node": null
|
|
}
|
|
],
|
|
[
|
|
{
|
|
"index": "twitter",
|
|
"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,js]
|
|
--------------------------------------------------
|
|
GET /twitter/_search_shards?routing=foo,bar
|
|
--------------------------------------------------
|
|
// CONSOLE
|
|
// TEST[s/^/PUT twitter\n{"settings":{"index.number_of_shards":5}}\n/]
|
|
|
|
The API returns the following result:
|
|
|
|
[source,console-result]
|
|
--------------------------------------------------
|
|
{
|
|
"nodes": ...,
|
|
"indices" : {
|
|
"twitter": { }
|
|
},
|
|
"shards": [
|
|
[
|
|
{
|
|
"index": "twitter",
|
|
"node": "JklnKbD7Tyqi9TP3_Q_tBg",
|
|
"primary": true,
|
|
"shard": 2,
|
|
"state": "STARTED",
|
|
"allocation_id": {"id":"fMju3hd1QHWmWrIgFnI4Ww"},
|
|
"relocating_node": null
|
|
}
|
|
],
|
|
[
|
|
{
|
|
"index": "twitter",
|
|
"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/]
|
|
|
|
The search will only be executed against two of the shards, because outing
|
|
values have been specified.
|