1 Pluspunkt 0 Minuspunkte

Ich versuche einen Aggregation Query in Elasticsearch zu schreiben der mir alle Agents ausgibt. 

curl -X GET "http://127.0.0.1:9200/winlogbeat-test/_search?pretty" -d "{\"size\":10000,\"aggs\":{\"unique_agents\":{\"terms\":{\"field\":\"agent.name\",\"order\":{\"_key\":\"asc\"}}}}}" -H "Content-Type:application/json" | jq

Aber als Ausgabe bekomme ich alle Einträge aus dem gesamten Index. Wie kann ich die ganzen anderen Ergebnisse ausschließen und nur die Aggregat Werte anzeigen?

von  

1 Antwort

0 Pluspunkte 0 Minuspunkte

Du musst die Size im Haupt Query auf 0 setzen und dafür innerhalb des "terms" Feld definieren um die Anzahl der Aggregatstreffer anzuzeigen.

{
  "size": 0,
  "aggs": {
    "unique_agents": {
      "terms": {
        "field": "agent.name",
        "sort": {
          "_key": "asc"
        },
        "size": 10000
      }
    }
  }
}
von (844 Punkte)