聚合搜索

根据某种规则 将搜索后的结果进行聚合

语法

"aggs": {
	"聚合名称": {
		"规则": {

		}
	}
}

比如

GET bank/_search
{
  "query": {
    "match_all": {}
  },
  "aggs": {
    "age_term": {
      "terms": {
        "field": "age",
        "size": 100
      }
    }
  }
}

查询后的结果为
image
可以看出每个key为年龄 doc_count为每个年龄的数量

可以在aggregations中嵌套一个aggs对上一次查询的结果进行再次聚合
如 根据年龄进行聚合然后再统计处每个年龄的分组信息

GET bank/_search
{
  "query": {
    "match_all": {}
  },
  "aggs": {
    "age_term": {
      "terms": {
        "field": "age",
        "size": 100
      },
      "aggs": {
        "age_avg": {
          "avg": {
            "field": "balance"
          }
        }
      }
    }
  }
}

搜索结果:
image

posted @ 2022-02-04 21:41  RainbowMagic  阅读(326)  评论(0)    收藏  举报