Java教程

聚合搜索

本文主要是介绍聚合搜索,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

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

语法

"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

这篇关于聚合搜索的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!