Elasticsearch
Agrégations
Recherche…
Syntaxe
- ". - [, "agrégations": {[<sub_aggregation>] +}]? -} - [, "<nom_agrégation_2>": {...}] * -}
Agrégation moyenne
Il s'agit d'une agrégation de mesures à valeur unique qui calcule la moyenne des valeurs numériques extraites des documents agrégés.
POST /index/_search?
{
"aggs" : {
"avd_value" : { "avg" : { "field" : "name_of_field" } }
}
}
L'agrégation ci-dessus calcule la note moyenne sur tous les documents. Le type d'agrégation est moy et le paramètre de champ définit le champ numérique des documents sur lesquels la moyenne sera calculée. Ce qui précède renverra ce qui suit:
{
...
"aggregations": {
"avg_value": {
"value": 75.0
}
}
}
Le nom de l'agrégation (avg_grade ci-dessus) sert également de clé permettant d'extraire le résultat de l'agrégation de la réponse renvoyée.
Agrégation de cardinalité
Une agrégation de mesures à valeur unique qui calcule un compte approximatif de valeurs distinctes. Les valeurs peuvent être extraites de champs spécifiques du document ou générées par un script.
POST /index/_search?size=0
{
"aggs" : {
"type_count" : {
"cardinality" : {
"field" : "type"
}
}
}
}
Réponse:
{
...
"aggregations" : {
"type_count" : {
"value" : 3
}
}
}
Agrégation étendue des statistiques
Une agrégation de métriques à valeurs multiples qui calcule les statistiques sur les valeurs numériques extraites des documents agrégés. Ces valeurs peuvent être extraites de champs numériques spécifiques dans les documents ou générées par un script fourni.
L'agrégation extended_stats est une version étendue de l'agrégation de statistiques, dans laquelle des mesures supplémentaires sont ajoutées, telles que sum_of_squares, variance, std_deviation et std_deviation_bounds.
{
"aggs" : {
"stats_values" : { "extended_stats" : { "field" : "field_name" } }
}
}
Sortie de l'échantillon:
{
...
"aggregations": {
"stats_values": {
"count": 9,
"min": 72,
"max": 99,
"avg": 86,
"sum": 774,
"sum_of_squares": 67028,
"variance": 51.55555555555556,
"std_deviation": 7.180219742846005,
"std_deviation_bounds": {
"upper": 100.36043948569201,
"lower": 71.63956051430799
}
}
}
}