QueryDSL是Elasticsearch提供的JSON格式的领域特定语言,可以使用它来执行各种复杂查询。
HTTP请求示例:
GET /website/_search
{
"query": {
"match_all": {}
}
}
Spring-data-elasticsearch代码示例:
Request request = new Request("GET", "/website/_search");
request.setJsonEntity("{\"query\":{\"match_all\":{}}}");
Response response = restClient.performRequest(request);
查询全部并按日期倒序排列,取前10条
{
"query": {
"match_all": {}
},
"sort": {
"date": {
"order": "desc"
}
},
"from": 0,
"size": 10
}
查询author字段包含关键词Smith
{
"query": {
"match": {
"author": "Smith"
}
}
}
查询点赞数等于40的文档
{
"query": {
"match": {
"likes": "40"
}
}
}
查询text字段中包含短语"I like"并返