118 lines
4.0 KiB
Plaintext
118 lines
4.0 KiB
Plaintext
[[search-uri-request]]
|
|
== URI Search
|
|
|
|
A search request can be executed purely using a URI by providing request
|
|
parameters. Not all search options are exposed when executing a search
|
|
using this mode, but it can be handy for quick "curl tests". Here is an
|
|
example:
|
|
|
|
[source,js]
|
|
--------------------------------------------------
|
|
GET twitter/tweet/_search?q=user:kimchy
|
|
--------------------------------------------------
|
|
// CONSOLE
|
|
// TEST[setup:twitter]
|
|
|
|
And here is a sample response:
|
|
|
|
[source,js]
|
|
--------------------------------------------------
|
|
{
|
|
"timed_out": false,
|
|
"took": 62,
|
|
"_shards":{
|
|
"total" : 5,
|
|
"successful" : 5,
|
|
"failed" : 0
|
|
},
|
|
"hits":{
|
|
"total" : 1,
|
|
"max_score": 0.2876821,
|
|
"hits" : [
|
|
{
|
|
"_index" : "twitter",
|
|
"_type" : "tweet",
|
|
"_id" : "0",
|
|
"_score": 0.2876821,
|
|
"_source" : {
|
|
"user" : "kimchy",
|
|
"date" : "2009-11-15T14:12:12",
|
|
"message" : "trying out Elasticsearch",
|
|
"likes": 0
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
--------------------------------------------------
|
|
// TESTRESPONSE[s/"took": 62/"took": "$body.took"/]
|
|
|
|
[float]
|
|
=== Parameters
|
|
|
|
The parameters allowed in the URI are:
|
|
|
|
[cols="<,<",options="header",]
|
|
|=======================================================================
|
|
|Name |Description
|
|
|`q` |The query string (maps to the `query_string` query, see
|
|
<<query-dsl-query-string-query,_Query String
|
|
Query_>> for more details).
|
|
|
|
|`df` |The default field to use when no field prefix is defined within the
|
|
query.
|
|
|
|
|`analyzer` |The analyzer name to be used when analyzing the query string.
|
|
|
|
|`lowercase_expanded_terms` |Should terms be automatically lowercased or
|
|
not. Defaults to `true`.
|
|
|
|
|`analyze_wildcard` |Should wildcard and prefix queries be analyzed or
|
|
not. Defaults to `false`.
|
|
|
|
|`default_operator` |The default operator to be used, can be `AND` or
|
|
`OR`. Defaults to `OR`.
|
|
|
|
|`lenient` |If set to true will cause format based failures (like
|
|
providing text to a numeric field) to be ignored. Defaults to false.
|
|
|
|
|`explain` |For each hit, contain an explanation of how scoring of the
|
|
hits was computed.
|
|
|
|
|`_source`|Set to `false` to disable retrieval of the `_source` field. You can also retrieve
|
|
part of the document by using `_source_include` & `_source_exclude` (see the <<search-request-source-filtering, request body>>
|
|
documentation for more details)
|
|
|
|
|`fields` |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` |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` |When sorting, set to `true` in order to still track
|
|
scores and return them as part of each hit.
|
|
|
|
|`timeout` |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.
|
|
|
|
|`terminate_after` |The maximum number of documents to collect for
|
|
each shard, upon reaching which the query execution will terminate early.
|
|
If set, the response will have a boolean field `terminated_early` to
|
|
indicate whether the query execution has actually terminated_early.
|
|
Defaults to no terminate_after.
|
|
|
|
|`from` |The starting from index of the hits to return. Defaults to `0`.
|
|
|
|
|`size` |The number of hits to return. Defaults to `10`.
|
|
|
|
|`search_type` |The type of the search operation to perform. Can be
|
|
`dfs_query_then_fetch` or `query_then_fetch`.
|
|
Defaults to `query_then_fetch`. See
|
|
<<search-request-search-type,_Search Type_>> for
|
|
more details on the different types of search that can be performed.
|
|
|=======================================================================
|