In previous post, I explained how to
search for documents using query parameters. One problem with query parameters is, it is difficult to write complex queries. To solve this problem, Elasticsearch
provides its own query language called the query DSL (Domain specific language),
used to build complex queries.
DSL is specified using JSON request
body.
Get all employees whose last name is Debroy
GET /xyz/employees/_search { "query":{ "match": { "lastName": "Debroy" } } }
Above query
returns all documents, whose lastName is Debroy.
{ "took": 1, "timed_out": false, "_shards": { "total": 5, "successful": 5, "failed": 0 }, "hits": { "total": 1, "max_score": 0.30685282, "hits": [ { "_index": "xyz", "_type": "employees", "_id": "3", "_score": 0.30685282, "_source": { "firstName": "Arpan", "lastName": "Debroy", "hobbies": [ "Tattoos", "Fencing", "Shopping" ], "age": 28 } } ] } }
No comments:
Post a Comment