术语无法解析字段大小在弹性搜索中与两个术语聚合时出错

时间:2018-07-29 11:27:15

标签: elasticsearch elasticsearch-5 elasticsearch-2.0 elasticsearch-aggregation

我想用用户和事件这两个术语进行汇总,并且我想获取每个用户每个事件的计数。

我尝试了以下代码。但是我在倒数第二行收到错误消息:

  

RequestError:TransportError(400,'parsing_exception','[terms]   未能解析字段[size]')

你能告诉我如何解决这个问题吗?

es.search(index=['ind'],doc_type=['axis'],body={
"query": {
    "bool": {
        "must": [
            {
                "range": {
                    "time": {
                        "gt": "10"
                    }
                }
            }
        ]
    }
},
"from": 0,
"size": 0,
"aggregations": {
    "user": {
        "aggregations": {
            "event": {
                "aggregations": {
                    "COUNT(event)": {
                        "value_count": {
                            "field": "event"
                        }
                    }
                },
                "terms": {
                    "field": "event",
                    "size": 0
                }
            }
        },
        "terms": {
            "field": "user",
            "size": 200
        }
    }
}
})

1 个答案:

答案 0 :(得分:1)

查询的唯一问题是聚合大小设置为“ 0”

如评论中所述。以零大小进行聚合是没有意义的,因此弹性搜索会引发错误

 [size] must be greater than 0. Found [0] in [event]

伴随您提到的上述错误

希望这会有所帮助