Dog*_*las 5 grouping elasticsearch kibana
我有一个类似的问题:如何在 Kibana 上过滤大于计数器的字段?https://github.com/elastic/kibana/issues/9684
在此链接上有一个完美的答案:您需要在 Json Input Advanced Bucket Option 上使用 "{'min_doc_count': X}"。完美,它完全按照我想要的方式运行,除了因为我想要相反的东西,比如“max_doc_count”。
令我惊讶的是,这个选项不存在......有人知道“max_doc_count”相当于什么?
在 SQL 中将类似于:GROUP BY my_field HAVING COUNT(*) < 3
谢谢。
在 ES 中执行此操作的正确方法是使用带有特殊路径的bucket_selector管道聚合。_count
POST /_search
{
"size": 0,
"aggs": {
"my_terms": {
"terms": {
"field": "my_field.keyword"
},
"aggs": {
"max_doc_count": {
"bucket_selector": {
"buckets_path": {
"count": "_count"
},
"script": {
"source": "params.count < 3"
}
}
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
在结果中,my_terms聚合将仅包含文档计数 < 3 的存储桶。无需订购任何内容或将您的应用程序编程为忽略任何内容。
| 归档时间: |
|
| 查看次数: |
1894 次 |
| 最近记录: |