首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sql to es :获取agg上的限制页面和订单结果

问sql to es :获取agg上的限制页面和订单结果
EN

Stack Overflow用户
提问于 2020-09-19 17:46:14
回答 1查看 44关注 0票数 0
代码语言:javascript
复制
SELECT
    max( timestamp ) AS first_time,
    min( timestamp ) AS last_time,
    src_ip,
    threat_target ,
    count(*) as count
FROM
    traffic 
GROUP BY
    src_ip,
    threat_target

ORDER BY
  first_time desc

LIMIT 0 ,10

我想得到这个结果,但是我不知道如何获得limit size以及在哪里使用sort

代码语言:javascript
复制
{
  "size": 0,
  "aggregations": {
    "src_ip": {
      "aggregations": {
        "threat_target": {
          "aggregations": {
            "last_time": {
              "max": {
                "field": "`timestamp`"
              }
            },
            "first_time": {
              "min": {
                "field": "`timestamp`"
              }
            }
          },
          "terms": {
            "field": "threat_target.keyword"
          }
        }
      },
      "terms": {
        "field": "src_ip.keyword"
      }
   
    }
  }
}
EN

回答 1

Stack Overflow用户

发布于 2020-09-20 19:35:04

弹性搜索通常不支持

  1. 聚合分页,但是,复合聚合提供了对聚合进行分页的方法。

与其他多存储桶聚合不同,复合聚合可用于有效地对多级聚合中的所有存储桶进行分页。

摘自Composite-Aggregation ES文档。

查看:THIS

  1. 除了"ORDER BY first_time desc“之外,下面的查询应该可以为您正常运行。除了分组字段(src_ip,threat_target)之外,我不认为对任何字段进行排序是可能的。

获取流量/_search{ " SIZE ":0,"aggs":{ "my_bucket":{ "size":{“SIZE”:2,// <=页面大小/*“后:{// <==========从第二个请求开始包含此内容,传递下一页"src_ip”:"1.2.3.5","threat_target“:"T3”}的最后一个输出的after_key,*/“源”:{ "src_ip":{ "terms":{ "field":"source_ip","order":"desc“},{ "threat_target":{ "terms":{ "field":"threat_target”},"aggs":{ "first_time":{ "max":{ "field":"first_time“}

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63967386

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档