Difference between revisions of "ElasticSearch Search"
From PaskvilWiki
(Created page with "[http://www.elasticsearch.org/guide/reference/api/search/ official documentation] Search can be executed across indices and types, with query string as a parameter, or using a r...") |
(No difference)
|
Revision as of 11:48, 23 January 2013
Search can be executed across indices and types, with query string as a parameter, or using a request body.
Search is broadcasted to all the index/indices shards; to limit the scope, you can use routing parameter - e.g. using user ID when searching through tweets by given user. The routing parameter may be multivalued, CSV.
Request Body
Request body uses Query DSL.
$ curl -XGET 'http://localhost:9200/twitter/tweet/_search' -d '{ "query" : { "term" : { "user" : "kimchy" } } }'
{ "_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 Elastic Search" } } ] } }
Parameters
- timeout - search timeout, bounding the search request to be executed within the specified time; default no timeout
- from - the starting from index of the hits to return; default 0
- size - the number of hits to return; default 10
- search_type - the type of the search operation to perform - dfs_query_then_fetch, dfs_query_and_fetch, query_then_fetch, query_and_fetch; defaults query_then_fetch; see Search Type for more details on the different types of search that can be performed