Elasticsearch
aggregazioni
Ricerca…
Sintassi
- "aggregazioni": {- "<aggregation_name>": {- "<aggregation_type>": {- <aggregation_body> -} - [, "meta": {[<meta_data_body>]}]? - [, "aggregazioni": {[<sub_aggregation>] +}]? -} - [, "<aggregation_name_2>": {...}] * -}
Aggregazione media
Questa è un'aggregazione di metriche a valore singolo che calcola la media dei valori numerici che vengono estratti dai documenti aggregati.
POST /index/_search?
{
"aggs" : {
"avd_value" : { "avg" : { "field" : "name_of_field" } }
}
}
L'aggregazione sopra calcola il voto medio su tutti i documenti. Il tipo di aggregazione è avg e l'impostazione del campo definisce il campo numerico dei documenti su cui verrà calcolata la media. Quanto sopra restituirà quanto segue:
{
...
"aggregations": {
"avg_value": {
"value": 75.0
}
}
}
Il nome dell'aggregazione (avg_grade precedente) funge anche da chiave con la quale il risultato dell'aggregazione può essere recuperato dalla risposta restituita.
Aggregazione di cardinalità
Una aggregazione di metriche a valore singolo che calcola un conteggio approssimativo di valori distinti. I valori possono essere estratti da specifici campi nel documento o generati da uno script.
POST /index/_search?size=0
{
"aggs" : {
"type_count" : {
"cardinality" : {
"field" : "type"
}
}
}
}
Risposta:
{
...
"aggregations" : {
"type_count" : {
"value" : 3
}
}
}
Aggregazione di statistiche estesa
Un'aggregazione di metriche multivalore che calcola le statistiche su valori numerici estratti dai documenti aggregati. Questi valori possono essere estratti da specifici campi numerici nei documenti o generati da uno script fornito.
Le aggregazioni extended_stats sono una versione estesa dell'aggregazione delle statistiche, in cui vengono aggiunte metriche aggiuntive come sum_of_squares, variance, std_deviation e std_deviation_bounds.
{
"aggs" : {
"stats_values" : { "extended_stats" : { "field" : "field_name" } }
}
}
Uscita di esempio:
{
...
"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
}
}
}
}