Elasticsearch 筛选聚合结果(SQL 有)
Elasticserach filter on aggregated results (SQL HAVING)
我有一个 ES 查询,它从监控工具聚合数据。
目前,我找到了每个相关组中的文档数量("externalId")。
现在,我希望按每组中的记录数过滤结果。
(类似于 SQL 中的 "HAVING" 子句,doc_count > 0)
例如,查找存储不止一次的"externalId"
这是我的 ES 查询:
{
"query":
{
"match" :
{
"method" : "METHOD_NAME"
}
},
"size":0,
"aggs":
{
"group_by_external_id":
{
"terms":
{
"field": "externalId"
}
}
}
}
结果如下所示:
"aggregations": {
"group_by_external_id": {
"doc_count_error_upper_bound": 5,
"sum_other_doc_count": 53056,
"buckets": [
{
"key": "6088417651626873",
"doc_count": 1
},
{
"key": "6088417688232882",
"doc_count": 1
}
术语聚合有一个 min_doc_count
option 您可以使用。例如,
"aggs":
{
"group_by_external_id":
{
"terms":
{
"field": "externalId",
"min_doc_count": 2
}
}
}
我有一个 ES 查询,它从监控工具聚合数据。
目前,我找到了每个相关组中的文档数量("externalId")。
现在,我希望按每组中的记录数过滤结果。 (类似于 SQL 中的 "HAVING" 子句,doc_count > 0)
例如,查找存储不止一次的"externalId"
这是我的 ES 查询:
{
"query":
{
"match" :
{
"method" : "METHOD_NAME"
}
},
"size":0,
"aggs":
{
"group_by_external_id":
{
"terms":
{
"field": "externalId"
}
}
}
}
结果如下所示:
"aggregations": {
"group_by_external_id": {
"doc_count_error_upper_bound": 5,
"sum_other_doc_count": 53056,
"buckets": [
{
"key": "6088417651626873",
"doc_count": 1
},
{
"key": "6088417688232882",
"doc_count": 1
}
术语聚合有一个 min_doc_count
option 您可以使用。例如,
"aggs":
{
"group_by_external_id":
{
"terms":
{
"field": "externalId",
"min_doc_count": 2
}
}
}