dsl简单查询
Query DSL又叫查询表达式,是一种非常灵活又富有表现力的查询语言,采用JSON接口的方式实现丰富的查询,并使你的查询语句更灵活、更精确、更易读且易调试。
一个最简单的DSL查询表达式如下:
GET /_search
{
"query":{
"match_all": {
}
}
}
/_search 查找整个ES中所有索引的内容
query 为查询关键字,类似的还有aggs为聚合关键字
match_all 匹配所有的文档,也可以写match_none不匹配任何文档
返回结果如下:
{
"took" : 524,
"timed_out" : false,
"_shards" : {
"total" : 5,
"successful" : 5,
"skipped" : 0,
"failed" : 0
},
"hits" : {
"total" : {
"value" : 41,
"relation" : "eq"
},
"max_score" : 2.4394195,
"hits" : [
{
"_index" : "wa",
"_type" : "log",
"_id" : "WETXpXwBtyY-NwwYjJwr",
"_score" : 2.4394195,
"_source" : {
"time" : "1634870194",
}
},
...省略其他的结果...] }}
took: 表示我们执行整个搜索请求消耗了多少毫秒
timed_out: 表示本次查询是否超时
这里需要注意当timed_out为True时也会返回结果,这个结果是在请求超时时ES已经获取到的数据,所以返回的这个数据可能不完整。
_shards: 显示查询中参与的分片信息,成功多少分片失败多少

本文介绍了Elasticsearch的Query DSL查询语言,包括基本查询、指定索引、分页、全文检索、正则表达式、通配符、布尔组合查询及聚合查询等。DSL查询以JSON接口形式提供,使得查询更灵活、精确且易于调试。

3695

被折叠的 条评论
为什么被折叠?



