记录自己常用在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