0
그룹화 된 문서 중 적어도 하나에 특정 내용이있는 필드가 있어야한다는 조건으로 집계 결과를 필터링해야합니다. 내 데이터는 여러 프로세스에서 발생한 흔적의 일종으로 고유 한 프로세스에는 많은 흔적이 있습니다. 내 데이터의탄성 검색 : 그룹화 된 문서의 조건으로 필터링
예 : 예를 들어
proc_id event timestamp
1 ON 1000
1 EV1 1001
2 ON 1002
1 OFF 1003
3 ON 1004
2 EV2 1005
3 EV1 1006
3 EV_END 1007
2 EV_END 1008
, 나는 proc_id에 의해 그룹에 적어도 하나의 EV_END 이벤트가 바로 proc_id가 필요합니다. proc_id의 모든 흔적을 사용하여 나중에 (시간 및 이벤트 수 같은) 처리해야하기 때문에 EV_END 추적 만 사용하는 것은 해결책이 아닙니다.
버전 2.x에서 bucket_selectors와 스크립트가 있지만 그 생각이 들지 않습니다.
내가하고 싶은 것과 의사 쿼리 :
curl -XPOST 'localhost:9200/proc/_search?pretty' -d '
{
"query": { "match_all": {} },
"aggs": {
"group_by_proc_id": {
"terms": {
"field": "proc_id",
**ONLY if proc has at least one trace with event == 'EV_END'**
}
}
}
}'
게시 한 샘플 데이터에 대해 원하는 출력을 제공 할 수 있습니까? – ChintanShah25
정확히 출력이 아니지만 "의사 쿼리"가 아이디어를 나타냅니다. – Hamlett
솔루션이 도움이 되었습니까? – ChintanShah25