Elasticsearch
Agregacje
Szukaj…
Składnia
- "agregacje": {- "<nazwa_agregacji>": {- "<typ_agregacji>": {- <ciało agregacji> -} - [, "meta": {[<meta_data_body>]}]? - [, „agregacje”: {[<sub_aggregation>] +}]? -} - [, "<nazwa_agregacji_2>": {...}] * -}
Średnia agregacja
Jest to agregacja miar pojedynczej wartości, która oblicza średnią wartości liczbowych wyodrębnionych z zagregowanych dokumentów.
POST /index/_search?
{
"aggs" : {
"avd_value" : { "avg" : { "field" : "name_of_field" } }
}
}
Powyższa agregacja oblicza średnią ocen ze wszystkich dokumentów. Typ agregacji to śr., A ustawienie pola określa pole numeryczne dokumentów, na których będzie obliczana średnia. Powyższe zwróci następujące elementy:
{
...
"aggregations": {
"avg_value": {
"value": 75.0
}
}
}
Nazwa agregacji (avg_grade powyżej) służy również jako klucz, za pomocą którego można uzyskać wynik agregacji ze zwróconej odpowiedzi.
Agregacja liczności
Agregacja metryk o pojedynczej wartości, która oblicza przybliżoną liczbę różnych wartości. Wartości można wyodrębnić z określonych pól w dokumencie lub wygenerować za pomocą skryptu.
POST /index/_search?size=0
{
"aggs" : {
"type_count" : {
"cardinality" : {
"field" : "type"
}
}
}
}
Odpowiedź:
{
...
"aggregations" : {
"type_count" : {
"value" : 3
}
}
}
Agregacja statystyk rozszerzonych
Agregacja metryk o wielu wartościach, która oblicza statystyki na podstawie wartości liczbowych pobranych z zagregowanych dokumentów. Wartości te można wyodrębnić z określonych pól numerycznych w dokumentach lub wygenerować za pomocą dostarczonego skryptu.
Agregacje Extended_stats to rozszerzona wersja agregacji statystyk, do której dodawane są dodatkowe metryki, takie jak suma_kwotoków, wariancja, odchylenie standardowe i odchylenie standardowe.
{
"aggs" : {
"stats_values" : { "extended_stats" : { "field" : "field_name" } }
}
}
Przykładowe dane wyjściowe:
{
...
"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
}
}
}
}