记录自己常用在kibana中用的DSL查询语句,以后方便参考

在查询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}}}
        ]
    }
  }

}


除非申明,文章均为一号门原创,转载请注明本文地址,谢谢!
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags: kibana elasticsearch
相关日志:
评论: 0 | 引用: 0 | 查看次数: -
发表评论
昵 称:
密 码: 游客发言不需要密码.
内 容:
验证码: 验证码
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.