es聚合查询并且返回对应组的数据

简介: es聚合查询并且返回对应组的数据

es 聚合查询并返回每个组的数据


需求


我现在是有一个这样的需求, 我需要在es里面按照 cityarea 进行分组(group by), 并且每个 cityarea的组 需要展示 按照时间排序的前10条, 状态全部为1的数据


实现

  {
    "query": {
      "bool": {
        "must": [
          {
            "term": {
              "status": "1"         # 筛选条件, 状态为 1 的
            }
          }
        ]
      }
    },
    "from": 0,
    "size": 10,
    "aggs": {
      "top_score": {                 ## 聚合名
        "terms": {
          "field": "cityarea",       ## 按照cityarea 进行分组
          "size": 30                 ## 注意: 这个size 是必填的, 因为不填默认是10, 也就是说如果我有 11个cityarea组的话, 在这只能分10个组, 最后一组不显示,
        },                                   个人建议根据分组情况写一个较大的值
        "aggs": {
          "top_score_hits": {
            "top_hits": {
              "_source": [
                "name"              ## 只展示name字段, 按照自己的需求来就行 
              ],
              "size": 10,           ## 这个size是每个组展示多少条数据, 默认是10
              "sort": {
                "first_time": {
                  "order": "desc"   ## 按照时间进行排序
                }
              }
            }
          }
        }
      }
    }
  }


目录
相关文章
|
7月前
|
Serverless Python
分组和聚合DataFrame信息案例解析
该文介绍了如何使用pandas对DataFrame进行分组和聚合操作。首先,通过创建字典并转换为DataFrame,展示了基础数据结构。接着,利用`groupby()`方法按城市字段进行数据分组,然后应用`mean()`函数计算各城市平均年龄,显示了聚合功能。此外,文中指出还可使用`sum()`、`count()`等其他聚合函数处理分组数据。
79 0
使用mongo聚合分组查询获取每一组的时间最大的一条数据
使用mongo聚合分组查询获取每一组的时间最大的一条数据
1143 0
|
7月前
|
数据处理
利用Stream流将取到的对象List<对象>形式数据进行分组统计转变成Map<分组条件,数量统计>形式
利用Stream流将取到的对象List<对象>形式数据进行分组统计转变成Map<分组条件,数量统计>形式
69 0
|
5月前
|
分布式计算 BI MaxCompute
SQL 能力问题之输出聚合的维度列的名称,如何解决
SQL 能力问题之输出聚合的维度列的名称,如何解决
|
6月前
|
SQL 安全 数据挖掘
Elasticsearch如何聚合查询多个统计值,如何嵌套聚合?并相互引用,统计索引中某一个字段的空值率?语法是怎么样的?
Elasticsearch聚合查询用于复杂数据分析,包括统计空值率。示例展示了如何计算字段`my_field`非空非零文档的百分比。查询分为三步:总文档数计数、符合条件文档数计数及计算百分比。聚合概念涵盖度量、桶和管道聚合。脚本在聚合中用于动态计算。常见聚合类型如`sum`、`avg`、`date_histogram`等。组合使用可实现多值统计、嵌套聚合和空值率计算。[阅读更多](https://zhangfeidezhu.com/?p=515)
309 0
Elasticsearch如何聚合查询多个统计值,如何嵌套聚合?并相互引用,统计索引中某一个字段的空值率?语法是怎么样的?
|
存储 Java API
ES多字段匹配查询时的权重控制
ES多字段匹配查询时的权重控制
849 0
ES多字段匹配查询时的权重控制
|
存储 SQL 关系型数据库
mysql数据分组 group by 多条件分组但条件不并列的分析
mysql数据分组 group by 多条件分组但条件不并列的分析
629 0
|
人工智能
ES中更新字段和删除字段的操作
ES中更新字段和删除字段的操作
|
NoSQL 关系型数据库 MySQL
【已解决】MongoDB 中根据指定字段筛选出具有重复值的记录
【已解决】MongoDB 中根据指定字段筛选出具有重复值的记录
874 0
【已解决】MongoDB 中根据指定字段筛选出具有重复值的记录
分组分类的查询与保存
分组分类的查询与保存
163 0
分组分类的查询与保存