ElasticSearch关于对数组聚合([nested] nested path is not nested)的问题
记录一下使用ES时对数组类型数据进行聚合处理时的坑:
由于ES官方自己说的对于所有类型的数据都默认支持数组形式,所以我在创建索引时没有指定nested类型,
首先创建如下索引(并没有指定user的类型):
索引结构如下:
这个时候user存的是一个数组,数组中有两个object类型数据,现在假设需求是要按分数分组,然后统计每个分数下各个人的名字和数量。通常就是两个terms聚合搞定:
GET test3/_search
{
"aggs": {
"res2": {
"terms": {
"field": "user.score"
},
"aggs": {
"res3": {
"terms": {
"field": "user