[[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] -------------------------------------------------- $ curl -XGET 'http://localhost:9200/twitter/tweet/_search?q=user:kimchy' -------------------------------------------------- And here is a sample response: [source,js] -------------------------------------------------- { "_shards":{ "total" : 5, "successful" : 5, "failed" : 0 }, "hits":{ "total" : 1, "hits" : [ { "_index" : "twitter", "_type" : "tweet", "_id" : "1", "_source" : { "user" : "kimchy", "postDate" : "2009-11-15T14:12:12", "message" : "trying out Elasticsearch" } } ] } } -------------------------------------------------- [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. |`default_operator` |The default operator to be used, can be `AND` or `OR`. Defaults to `OR`. |`explain` |For each hit, contain an explanation of how scoring of the hits was computed. |`_source`| added[1.0.0.Beta1]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) |`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. |coming[1.4.0] `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`, `dfs_query_and_fetch`, `query_then_fetch`, `query_and_fetch`, `count`, `scan`. Defaults to `query_then_fetch`. See <> for more details on the different types of search that can be performed. |`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`. |=======================================================================