The queries that we saw until now were basic commands that were used to retrieve data, but the actual power of Elasticsearch's querying lies in a robust Query Domain Specific Language based on JSON also called Query DSL. Kibana makes extensive use of Query DSL in order to get results in a desired format for you. You almost never really have to worry about writing the query JSON, as Kibana will automatically create and put the results in a nice format.
For example, in order to get only three results out of all the matching ones, we can specify it like this:
curl -XPOST 'localhost:9200/logstash-*/_search' -d ' { "query": { "match_all": {} }, "size": 3 }'
The response is as follows, which contains three documents matching the search:
{ "took" : 390, "timed_out" : false, "_shards" : { "total" : 640, "successful" : 640, "failed" : 0 }, "hits" : { "total" : 128, "max_score" : 1.0, "hits" : [{ "_index" : "logstash-2014.07.01",...