elasticsearch 5.2Elasticsearch 5 | filter verschachteltes Objekt und verschachtelte Aggregationszählung
Ich möchte meine Elemente durch das verschachtelte Objekt state.id = 101 und eine Aggregationszählung für alle Elemente nach state.id filtern. Es gibt Elemente mit den Status-IDs 101, 102 und 103.
Die Aggregationszählung ist jetzt auf state.id 101 beschränkt. Ich möchte nur die Elemente mit state.id = 101 und die Aggregationszählung für alle Zustands-IDs abrufen .
Wie kann ich das tun?
GET index/items/_search
{
"query": {
"nested" : {
"path" : "state",
"query": {
"bool": {
"filter": {
"term": { "state.id": 101 }
}
}
}
}
},
"aggs" : {
"state" : {
"nested" : {
"path" : "state"
},
"aggs" : {
"count" : { "terms" : { "field" : "state.id" } }
}
}
}
}
Danke. Genau das, was ich brauchte. Noch eine Frage. Ich möchte den aktuellen Aggregationskontext auf einen bestimmten Satz von Dokumenten eingrenzen. Wie kann ich die Filteraggregation in einer verschachtelten Aggregation verwenden? [link] (https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-bucket-filter-aggregation.html) – Joost
Cool, froh, dass es geholfen hat. Ich habe meine Antwort aktualisiert. – Val
Thx. Aber ich möchte die Aggregation für das verschachtelte Objekt filtern. '' ' "Filter": { "Begriffe": { "state.id": [101,102] } }, ' '' Und nur die Dokumente von "state.id" erhalten: 101 wie oben. – Joost