Können Sie mir bitte helfen, diese SQL-Abfrage in elastische Suchabfrage umzuwandeln?Das maximale Datum in der elastischen Suchabfrage finden
SELECT group,MAX(date) as max_date
FROM table
WHERE checks>0
GROUP BY group
Können Sie mir bitte helfen, diese SQL-Abfrage in elastische Suchabfrage umzuwandeln?Das maximale Datum in der elastischen Suchabfrage finden
SELECT group,MAX(date) as max_date
FROM table
WHERE checks>0
GROUP BY group
Was passiert, wenn Sie Ihre Abfrage wie unten haben, vorausgesetzt, dass Sie eine HTTP POST
tun. Sie könnten einfach max Aggregationen von IHM verwenden, um den max Wert zu erhalten und Begriffe innerhalb aggs um die GROUP BY
Funktion zu erledigen zu verwenden.
Anfrage:
IhrHost: 9200/your_index/_search
Anfrage Körper:
{
"query": {
"query_string": {
"query": "checks > 0" <-- check whether this works, if not use the range query
}
},
"aggs": {
"groupby_group": {
"terms": {
"field": "group"
},
"aggs": {
"maximum": {
"max": {
"script": "doc['date'].value"
}
}
}
}
}
}
Für checks > 0
Sie mit der range Abfrage auch gehen könnte innerhalb die Abfrage, die co uld wie folgt aussehen:
"range" : {
"checks" : {
"gte" : 0
}
}
This, die Sie auf die Ausführung Aggregationen helfen könnte. Aber bitte stellen Sie sicher, dass Sie Scripting von Ihrem elasticsearch.yml bevor Sie versuchen, die Abfrage aktiviert haben:
script.inline: on
hoffe, das hilft!
Bitte fügen Sie Ihr Datenmodell (elasticsearch index) hinzu. Ohne dass es wirklich schwierig ist dir zu helfen;) – NicolasY