[[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 <> 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 <> documentation for more details) |`stored_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 <> for more details on the different types of search that can be performed. |=======================================================================