158 lines
4.9 KiB
Plaintext
158 lines
4.9 KiB
Plaintext
[[search-uri-request]]
|
|
=== URI Search
|
|
|
|
Specifies search criteria as query parameters in the request URI.
|
|
|
|
[source,js]
|
|
--------------------------------------------------
|
|
GET twitter/_search?q=user:kimchy
|
|
--------------------------------------------------
|
|
// CONSOLE
|
|
// TEST[setup:twitter]
|
|
|
|
|
|
[[search-uri-request-api-request]]
|
|
==== {api-request-title}
|
|
|
|
`GET /<index>/_search?q=<parameter>`
|
|
|
|
|
|
[[search-uri-request-api-desc]]
|
|
==== {api-description-title}
|
|
|
|
You can use query parameters to define your search criteria directly in the
|
|
request URI, rather than in the request body. Request URI searches do not
|
|
support the full {es} Query DSL, but are handy for testing.
|
|
|
|
|
|
[[search-uri-request-api-path-params]]
|
|
==== {api-path-parms-title}
|
|
|
|
include::{docdir}/rest-api/common-parms.asciidoc[tag=index]
|
|
|
|
|
|
[[search-uri-request-api-query-params]]
|
|
==== {api-query-parms-title}
|
|
|
|
`allow_partial_search_results`::
|
|
(Optional, boolean) Set to `false` to fail the request if only partial results
|
|
are available. Defaults to `true`, which returns partial results in the event
|
|
of timeouts or partial failures You can override the default behavior for all
|
|
requests by setting `search.default_allow_partial_results` to `false` in the
|
|
cluster settings.
|
|
|
|
include::{docdir}/rest-api/common-parms.asciidoc[tag=analyze_wildcard]
|
|
|
|
include::{docdir}/rest-api/common-parms.asciidoc[tag=analyzer]
|
|
|
|
`batched_reduce_size`::
|
|
(Optional, integer) The number of shard results that should be reduced at once
|
|
on the coordinating node. This value should be used as a protection mechanism
|
|
to reduce the memory overhead per search request if the potential number of
|
|
shards in the request can be large.
|
|
|
|
include::{docdir}/rest-api/common-parms.asciidoc[tag=default_operator]
|
|
|
|
include::{docdir}/rest-api/common-parms.asciidoc[tag=df]
|
|
|
|
`explain`::
|
|
(Optional, string) For each hit, include an explanation of how the score was
|
|
computed.
|
|
|
|
include::{docdir}/rest-api/common-parms.asciidoc[tag=from]
|
|
|
|
include::{docdir}/rest-api/common-parms.asciidoc[tag=lenient]
|
|
|
|
include::{docdir}/rest-api/common-parms.asciidoc[tag=search-q]
|
|
|
|
include::{docdir}/rest-api/common-parms.asciidoc[tag=search_type]
|
|
|
|
`size`::
|
|
(Optional, integer) The number of hits to return. Defaults to `10`.
|
|
|
|
include::{docdir}/rest-api/common-parms.asciidoc[tag=source]
|
|
|
|
include::{docdir}/rest-api/common-parms.asciidoc[tag=source_excludes]
|
|
|
|
include::{docdir}/rest-api/common-parms.asciidoc[tag=source_includes]
|
|
|
|
`stored_fields`::
|
|
(Optional, string) The selective stored fields of the document to return for
|
|
each hit, comma delimited. Not specifying any value will cause no fields to
|
|
return.
|
|
|
|
`sort`::
|
|
(Optional, string) Sorting to perform. Can either be in the form of
|
|
`fieldName`, or `fieldName:asc`/`fieldName:desc`. The fieldName can either be
|
|
an actual field within the document, or the special `_score` name to indicate
|
|
sorting based on scores. There can be several `sort` parameters (order is
|
|
important).
|
|
|
|
`track_scores`::
|
|
(Optional, boolean) When sorting, set to `true` in order to still track scores
|
|
and return them as part of each hit.
|
|
|
|
`track_total_hits`::
|
|
(Optional, integer) Defaults to `10,000`. Set to `false` in order to disable
|
|
the tracking of the total number of hits that match the query. It also accepts
|
|
an integer which in this case represents the number of hits to count
|
|
accurately. (See the <<request-body-search-track-total-hits, request body>>
|
|
documentation for more details).
|
|
|
|
`timeout`::
|
|
(Optional, <<time-units, time units>>) A search timeout, bounding the search
|
|
request to be executed within the specified time value and bail with the hits
|
|
accumulated up to that point when expired. Defaults to no timeout.
|
|
|
|
include::{docdir}/rest-api/common-parms.asciidoc[tag=terminate_after]
|
|
|
|
|
|
[[search-uri-request-api-example]]
|
|
==== {api-examples-title}
|
|
|
|
[source,js]
|
|
--------------------------------------------------
|
|
GET twitter/_search?q=user:kimchy
|
|
--------------------------------------------------
|
|
// CONSOLE
|
|
// TEST[setup:twitter]
|
|
|
|
|
|
The API returns the following response:
|
|
|
|
[source,js]
|
|
--------------------------------------------------
|
|
{
|
|
"timed_out": false,
|
|
"took": 62,
|
|
"_shards":{
|
|
"total" : 1,
|
|
"successful" : 1,
|
|
"skipped" : 0,
|
|
"failed" : 0
|
|
},
|
|
"hits":{
|
|
"total" : {
|
|
"value": 1,
|
|
"relation": "eq"
|
|
},
|
|
"max_score": 1.3862944,
|
|
"hits" : [
|
|
{
|
|
"_index" : "twitter",
|
|
"_type" : "_doc",
|
|
"_id" : "0",
|
|
"_score": 1.3862944,
|
|
"_source" : {
|
|
"user" : "kimchy",
|
|
"date" : "2009-11-15T14:12:12",
|
|
"message" : "trying out Elasticsearch",
|
|
"likes": 0
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
--------------------------------------------------
|
|
// TESTRESPONSE[s/"took": 62/"took": "$body.took"/]
|