Hi,
can someone please explain the difference between Search API and Query DSL?
I have been using both but still don't understand the difference.
Thanks
Hi,
can someone please explain the difference between Search API and Query DSL?
I have been using both but still don't understand the difference.
Thanks
Query DSL is a language for specifying queries. The Search API is a subset of operations that you can perform with an elasticsearch cluster related to search. Many Search API operations such as search and percolation requests accept queries as a part of these requests, these queries have to be specified in Query DSL.
So, you can think of Query DSL as a part of Search API. In other words, if we take a look at this request:
GET /_search
{
"query" : {
"term" : { "user" : "kimchy" }
},
"size": 100,
"from": 300
}
then this portion can be considered to be a part of Search API:
GET /_search
{
"query" : {
...
},
"size": 100,
"from": 300
}
And this portion is Query DSL:
{
"term" : { "user" : "kimchy" }
}
© 2020. All Rights Reserved - Elasticsearch
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant logo are trademarks of the Apache Software Foundation in the United States and/or other countries.