Elasticsearch-Aggregation mithilfe eines Skripts zum Transformieren des zu aggregierenden Feldwerts

Ich habe derzeit etwas wie:

"aggs": { "group_by_myfield": { "terms": { "field": "myfield" } } }

Der Wert für myfield ist jedoch "alpha 1.0", "alpha 2.0", "beta 1.0". Jetzt möchte ich nur noch über die Werte "alpha", "beta" aggregieren. Wie mache ich das? Ich habe es versucht:

"aggs": { "group_by_myfield": { "terms": { "field": "myfield" "script": "_value.split()[0]" } } }

Aber ich denke, es gibt keine Split-Funktionalität. Anregungen sind willkommen!

Ich habe eine ähnliche Frage gefundenHier das ist auch unbeantwortet.

BEARBEITEN: hat es über den obigen Link geschafft. Die folgende Abfrage erledigt den Job.

GET _search { "size": 0, "aggs": { "group_by_myfield": { "terms": { "field": "myfield", "script": "_value.replaceAll('\\\\s+.*','')" } } } }

Antworten auf die Frage(1)

Ihre Antwort auf die Frage