Elasticsearch DSL (Query DSL)
Elasticsearch DSL is a library abstracted on top of Elasticsearch, using which you can write and run queries against the data stored. It in turn wraps Lucene’s query syntax and makes these interactions easy by allowing a query to be composed using a JSON syntax.
A sample query of customer data in Elasticsearch is shown here:
Curl -XPOST ‘http://localhost:9200/customer/_search?pretty=true’ -H 'Content-Type: application/json' -d ‘ { “from” : 0, “Size”: 20, “query”: <QUERY_JSON>, <FILTER_JSON>, <SORT_JSON> }’
In the previous code <QUERY_JSON>
can be { "match_all": {} }
and <SORT_JSON>
can be "sort": { "name": { "order": "desc" } }
.
Code 01: Sample Elasticsearch DSL query
Important queries in Query DSL
The following are some of the important queries showing off Query DSL:
match_all
: Matches all the documents. The default query that runs when nothing is specified. This can be used in conjunction with filter and returns all the documents satisfying...