2016-08-04 32 views
0

Also habe ich versucht, alle Dokumente mit doppelten Daten im Feld "Svctag" zu holen.Eine Abfrage auf ES mit Kibana

Ich machte die folgende Abfrage für die gleiche.

"aggs": { "svctag": { "terms": { "field": "svctag","size": 0, "min_doc_count": 2}}} 

Ich habe auch versucht, es mit diesem laufen und immer noch den gleichen Fehler.

{"aggs": {"duplicateNames": {"terms": {    "field": "svctag","size": 0,    "min_doc_count": 2}}}} 

Aber beim Ausführen dieser, erhalte ich den folgenden Fehler.

Error: Request to Elasticsearch failed: {"error":{"root_cause":[{"type":"query_parsing_exception","reason":"Failed to parse query [\"aggs\": { \"svctag\": { \"terms\": { \"field\": \"svctag\",\"size\": 0, \"min_doc_count\": 2}}}]","index":"logstash-data","line":1,"col":430}],"type":"search_phase_execution_exception","reason":"all shards failed","phase":"query","grouped":true,"failed_shards":[{"shard":0,"index":"logstash-data","node":"PDjSn1G3SYS7jgGLRBV2HQ","reason":{"type":"query_parsing_exception","reason":"Failed to parse query [\"aggs\": { \"svctag\": { \"terms\": { \"field\": \"svctag\",\"size\": 0, \"min_doc_count\": 2}}}]","index":"logstash-data","line":1,"col":430,"caused_by":{"type":"parse_exception","reason":"Cannot parse '\"aggs\": { \"svctag\": { \"terms\": { \"field\": \"svctag\",\"size\": 0, \"min_doc_count\": 2}}}': Encountered \" \":\" \": \"\" at line 1, column 6.\r\nWas expecting one of:\r\n <EOF> \r\n <AND> ...\r\n <OR> ...\r\n <NOT> ...\r\n \"+\" ...\r\n \"-\" ...\r\n <BAREOPER> ...\r\n \"(\" ...\r\n \"*\" ...\r\n \"^\" ...\r\n <QUOTED> ...\r\n <TERM> ...\r\n <FUZZY_SLOP> ...\r\n <PREFIXTERM> ...\r\n <WILDTERM> ...\r\n <REGEXPTERM> ...\r\n \"[\" ...\r\n \"{\" ...\r\n <NUMBER> ...\r\n ","caused_by":{"type":"parse_exception","reason":"Encountered \" \":\" \": \"\" at line 1, column 6.\r\nWas expecting one of:\r\n <EOF> \r\n <AND> ...\r\n <OR> ...\r\n <NOT> ...\r\n \"+\" ...\r\n \"-\" ...\r\n <BAREOPER> ...\r\n \"(\" ...\r\n \"*\" ...\r\n \"^\" ...\r\n <QUOTED> ...\r\n <TERM> ...\r\n <FUZZY_SLOP> ...\r\n <PREFIXTERM> ...\r\n <WILDTERM> ...\r\n <REGEXPTERM> ...\r\n \"[\" ...\r\n \"{\" ...\r\n <NUMBER> ...\r\n "}}}}]}} 

Wohin gehe ich falsch? jede Hilfe wird geschätzt.

Antwort

0

Das Kibana-Eingabefeld unterstützt nur Abfragen und keine Aggregationen. Wenn Sie Ihre Daten aggregieren möchten, können Sie stattdessen Visualisierungen verwenden, die Aggregationen nutzen.

In Ihrem Fall können Sie:

  1. ein Kreisdiagramm wählen,
  2. dann "Neue Suche" wählen,
  3. dann "Split Scheiben"
  4. dann wählen Sie die "Bedingungen"
  5. Aggregation
  6. dann die svctag Feld auswählen und konfigurieren size = 0

Sie sollten gut gehen.

+0

Vielen Dank. Das scheint zu funktionieren. Aber ich habe ein wenig Zweifel. eigentlich habe ich 2 Quelldateien, aus denen ich Daten entwerfe, eine hat 8 Felder und eine andere hat 5 Felder. Nur wenige der Felder sind üblich. Ich speichere beides unter einem Index. Ich möchte überprüfen, wie viele Übereinstimmungen in Feld1 von Quelldatei1 und Feld2 von Quelldatei zwei vorhanden sind. Würde dieser Ansatz mir dann helfen? –

+0

Ja, indem Sie eine andere 'terms' Subaggregation auf' field1' und/oder 'field2' verwenden. – Val

+0

Hallo. Ich glaube, ich habe mich nicht klar ausgedrückt. Ich möchte nicht herausfinden, wie viele von jedem Typ vorhanden sind, ich möchte nur die Anzahl der übereinstimmenden Datenpunkte wissen. Also möchte ich eine Gesamtzählung. gerade jetzt bin ich geting A hat 2, B hat 2, C hat 3, D hat 1. Aber was ich hier suche, gibt es 3 Übereinstimmungen (da es mehrere Einträge von A B und C gibt) –