Elasticsearch Query-DSL
Query-DSL is a JSON interface provided by Elasticsearch to write queries in the JSON format. It allows you to write any query that you may write in Lucene. The queries can be as simple as just matching simple terms, or they can be very complex.
Until now, to retrieve documents from Elasticsearch we used a GET
request that was dependent on the ID to search and retrieve the document. You can extend the searches in similar way; for example: localhost:9200/index_name/doc_type/_search?q=category:databases
.
The preceding query is a typical Lucene query string
that searches for the databases
word inside the category
field. Submitting queries to Elasticsearch in this way is very limited, so you will learn about Query-DSL now.
Syntax:
The Query-DSL follows the following syntax:
{ "query": {}, "from": 0, "size": 20, "_source": ["field1","field2"] }