Ich möchte die folgende SQL-Abfrage in Elasticsearch eins konvertieren. kann irgendjemand dabei helfen.Konvertieren der SQL-Abfrage in ElasticSearch-Abfrage
select csgg, sum(amount) from table1
where type in ('a','b','c') and year=2016 and fc="33" group by csgg having sum(amount)=0
Ich habe versucht, folgendermaßen: enter code here
{
"size": 500,
"query" : {
"constant_score" : {
"filter" : {
"bool" : {
"must" : [
{"term" : {"fc" : "33"}},
{"term" : {"year" : 2016}}
],
"should" : [
{"terms" : {"type" : ["a","b","c"] }}
]
}
}
}
},
"aggs": {
"group_by_csgg": {
"terms": {
"field": "csgg"
},
"aggs": {
"sum_amount": {
"sum": {
"field": "amount"
}
}
}
}
}
}
aber nicht sicher, ob ich recht tue als nicht die Ergebnisse zu validieren. scheint Abfrage innerhalb der Aggregation hinzugefügt werden.
, welche Aktion für folgende genommen wahr Er sagt auch, wie folgende: Fehler Parse [konnte nicht Aggregator Typ [bucket_selector] in [no_amount_filter] finden]]; }] – fasterslow2007
Verwenden Sie Elasticsearch Version> = 2.0.0? Für mich klingt es so, als ob du eine 1.x-Version benutzt. –