聚合搜索

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

语法

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

		}
	}
}

比如

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

查询后的结果为
聚合搜索
可以看出每个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"
          }
        }
      }
    }
  }
}

搜索结果:
聚合搜索

上一篇:【深究系列】实现自己的HashMap


下一篇:linux系统调用实现代码分析【转】