ElasticSearch (Es) 分组查询 记录

首先表对应的实体类型:

public class bm_info{

  /// <summary>
  /// 单位
  /// </summary>

  public  string source_unit { get; set; }

  /// <summary>
  /// 省份集合
  /// </summary>

  public  List<in_place>  place { get; set; }

}

public class in_place{

       //省

  public  string province { get; set; }

}

1.简单分组查询

GET bm_info/_search
{
  "aggs": {
    "source_unit_agg": {
      "terms": {
        "field": "source_unit",
        "size": 10
      }
    }
  }
}

根据 source_unit 字段进行分组查询,分组名称 source_unit_agg , 分组大小 前10个.

2.对于数组的分组查询

GET bm_tec_info/_search
{
  "aggs": {
    "place_aggs": {
      "nested": {
        "path": "place"
      },
      "aggs": {
        "province_aggs":{
          "terms": {
            "field": "place.province",
            "size": 26
          }
        }
      }
    }
  }
}

根据省份数组下,每个一个省份进行分组

posted @ 2022-07-21 13:42  klStudy  阅读(3768)  评论(0编辑  收藏  举报