我想聚合用户和事件这两个术语,并且我想获取每个用户的每个事件的计数。
我试过下面的代码。但是我在倒数第二行收到错误消息:
RequestError: TransportError(400, 'parsing_exception', '[terms] failed to parse field [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
}
}
}
})
最佳答案
您的查询的唯一问题是您的聚合大小设置为“0”
如评论中所述。以零大小进行聚合是没有意义的,因此 Elasticsearch 会抛出错误
[size] must be greater than 0. Found [0] in [event]
连同您提到的上述错误
希望对你有帮助
关于elasticsearch - 在 Elasticsearch 中与两个术语聚合时,术语无法解析字段大小错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51579846/