쿼리로 설명하는 것이 더 쉬울 것이라고 생각합니다. 내 쿼리를 살펴 : 이것은 아래의 결과로 날을 반환elasticsearch는 하위 집합으로 집계 버킷을 제외합니다. doc_count
GET _search
{
"aggs": {
"group_by_app": {
"terms": {
"field": "application"
}
},
"aggs": {
"installs": {
"filter": {
"fquery": {
"query": {
"match": {
"action": "install"
}
},
"_cache": true
}
}
},
"launches": {
"filter": {
"fquery": {
"query": {
"match": {
"action": "launch"
}
},
"_cache": true
}
}
}
}
}
}
:
"aggregations": {
"apps": {
"buckets": [
{
"key": "app1",
"doc_count": 2313,
"launches": {
"doc_count": 0
},
"installs": {
"doc_count": 48
}
},
{
"key": "app2",
"doc_count": 5,
"launches": {
"doc_count": 0
},
"installs": {
"doc_count": 0
}
},
]
}
}
를 이제 알 경우, 설치하고 발사 APP2 모두 0이다. 나는 하위 집계를 모두 출시 및 설치 횟수 내가 min_doc_count을보고 내 사건에 대한 비슷한 할 수 있었다면 궁금 해서요 0
을 경우 결과에 표시 키 = "APP2"에 대한 버킷을 원하지 않는다 ?
[편집] : 제가 시도 할 수있는 다른 생각은 가능한 모든 "작업"에 대해 집계 "group_by_app"대신 "작업"= "설치"또는 " 액션 "="발사 ". 그래서 기본적으로 버킷 집합은 "action"= "launch"또는 "install"이상이며, 하위 집계는 기본적으로 쿼리와 같습니다. 버킷 집계를 통해 min_doc_count를 수행하여 하위 집계 결과를 표시하지 않을 수 있습니다. 그러나 집계는 용어/용어 또는 필터 만 허용하며 둘 다 허용하지는 않습니다. 누군가가 그것을 달성하기위한 또 다른 방법을 제안 할 수 있다면 큰 도움이 될 것입니다!
: 설치 "와"시작 "하위 집합 0
을 여기에 전체 쿼리의 응용 프로그램"둘 경우 물통을 ""다음 표시되지 않습니다 버킷 집계를 통해 min_doc_count = 1을 " 'min_doc_count'에 대해 언급 해 주셔서 감사합니다. – sjngm