记录自己常用在kibana中用的DSL查询语句,以后方便参考
By:Roy.LiuLast updated:2019-08-29
在查询elasticsearch中的数据的时候,经常用kibana中的DEV工具来查询,一般来说,这个工具会缓存你用过的dsl语句,但有时候不小心清理了浏览器缓存或者在另外一台机登录kibana,这些DSL就没有了,所以干脆记录在这里,也方便以后参考,特别是用 elasticsearch low level api的时候,就更有用了,因为就是原生的dsl查询语句。
GET _search { "query": { "match_all": {} } } ##时间用法,@timestamp, 可以用来查询距离现在多求前,或者时间段,可以是分钟(m),小时(h),天数(d), 就如同下面这样. ##另外加入了排序 GET /gateway_log/_search { "sort":[ { "@timestamp":{"order":"desc"} } ], "query":{ "range":{ "@timestamp": { "gte": "now-10h", "lte": "now+20h" } } } } ##最近一小时的数据 GET /gateway_log/_search { "query":{ "range":{ "@timestamp": { "gte": "now-1h" } } } } ## 指定特定的时间段,很精确的时间段查询 GET /gateway_log/_search { "query":{ "range":{ "@timestamp": { "gt": "2019-08-29T01:00:00", "lt": "2019-08-29T03:59:59" } } } } ## bool方式查询加过滤 GET /gateway_log/_search { "from":0, "size":20, "query":{ "bool":{ "must":[ {"match":{"eventType": "WAN_ONOFF"}} ], "filter":[ {"range":{"count":{"gte":8}}} ] } } } ## match 查询 GET /gateway_log/_search { "query":{ "match":{ "eventType":"CPU_TEMPERATURE" } } } ## 聚合查询的使用例子 GET /gateway_log/_search { "size":0, "query":{ "match":{ "eventType":"CPU_TEMPERATURE" } }, "aggs":{ "max_count": { "max":{ "field": "count" } } } } ## 分页查询的例子 GET /gateway_log/_search { "from":5, "size":5, "query":{ "bool":{ "must":[ {"match":{"eventType": "CPU_TEMPERATURE"}} ], "filter":[ {"range":{"count":{"gte":8}}} ] } } }
From:一号门
Previous:Agile Data Science 2.0书中代码.
COMMENTS