Co to jest agregacja Elasticsearch?

Co To Jest Agregacja Elasticsearch



Codziennie gromadzone są ogromne ilości danych, a zarządzanie dużymi zbiorami danych to najważniejszy przypadek użycia silnika Elasticsearch. Dane są przechowywane w analitycznej bazie danych w czasie rzeczywistym, a użytkownik może wyodrębnić dane, aby znaleźć z nich przydatną wiedzę za pomocą zapytań. Użytkownik może zastosować zapytania, aby znaleźć dane z wielu indeksów i wyświetlić je w jednym zasobniku z relacyjnej bazy danych.

Ten przewodnik wyjaśni agregacje Elasticsearch z przykładami wykorzystującymi różne agregacje.







Co to jest agregacja Elasticsearch?

W Elasticsearch agregacja to proces łączenia lub grupowania pól w celu wyodrębnienia informacji z relacyjnej bazy danych. Agregację w Elasticsearch można uznać za tzw GRUPUJ WEDŁUG KLAUZULI Lub AGREGAT() funkcję w języku SQL.



Jak korzystać z agregacji Elasticsearch?

Aby korzystać z agregacji w Elasticsearch, użytkownik musi mieć podstawową wiedzę na temat swojej bazy danych. Przyjrzyjmy się składni i jej praktycznej implementacji:



Składnia





Aby znaleźć dane z bazy danych, składnia agregacji w silniku Elasticsearch jak poniżej:

'aggs' : {
'nazwa_agregacji' : {
'typ_agregacji' : {
'pole' : „nazwa_pola_dokumentu”
}


Powyższe fragmenty:



    • Wykorzystuje „ ag ” słowo kluczowe wyjaśniające użycie agregacji w zapytaniu.
    • The nazwa_agregacji jest ustawiany przez użytkownika zgodnie z wymaganymi informacjami.
    • Po tym rodzaj_agregacji służy do pobierania danych.
    • Ostatnia linia wykorzystuje pole słowo kluczowe, po którym następuje nazwa atrybutu z dokumentu.

Przykład 1: Agregacja w przykładowych danych Kibana

Ta sekcja wyjaśnia agregację za pomocą przykładu wykorzystującego przykładowe dane z Kibany, łącząc się z nią najpierw. Następnie po prostu wejdź do „ Narzędzia deweloperskie ”, wyszukując go z paska wyszukiwania i klikając na niego:


Pobierz dane z przykładowych danych

Po prostu użyj następującego polecenia, aby pobrać dane z „ kibana_sample_data_logs ” w konsoli Dev Tools:

DOSTAWAĆ / kibana_sample_data_logs / _szukaj



Dane wyjściowe pokazują, że dane zostały pobrane z „ kibana_sample_data_logs ” indeks.

Poniższy kod używa a DOSTAWAĆ wniosek na „ kibana_sample_data_log ”, aby wyszukać z niego przy użyciu agregacji value_count na „ adres klienta ' pole:

DOSTAWAĆ / kibana_sample_data_logs / _szukaj
{ 'rozmiar' : 0 ,
'aggs' : {
'liczba_ip' : {
„liczba_wartości” : {
'pole' : „wskazówka klienta”
}
}
}
}



Powyższy zrzut ekranu przedstawia agregację na adres klienta pole z wartością 14074 .

Ważne agregaty

Poniżej wymieniono niektóre ważne agregacje używane do wydajnego wyszukiwania danych w bazie danych:

Poniższe przykłady wyjaśniają wyżej wymienione agregacje przy użyciu DOSTAWAĆ wniosek z „ kibana_sample_data_ecommerce ”indeks:

Agregacja liczności

Poniższy kod wykorzystuje „ liczność ” agregacja na „ sk ” z danych e-commerce. Uruchomienie tego kodu spowoduje agregację pojedynczych wartości w celu uzyskania unikalnych jednostek SKU z bazy danych Elasticsearch:

DOSTAWAĆ / kibana_sample_data_ecommerce / _szukaj
{
'rozmiar' : 0 ,
'aggs' : {
„unique_skus” : {
„kardynalność” : {
'pole' : 'sku'
}
}
}
}



Wyświetla liczność znalezienie agregacji 7186 wartości z indeksu.

Agregacja statystyk

Inną ważną agregacją jest „ statystyki ” agregacja, która jest używana do uzyskania „ liczyć ”, „ min ”, „ maks ”, „ śr ', I ' suma ” statystyki z „ całkowita ilość ' pole:

DOSTAWAĆ / kibana_sample_data_ecommerce / _szukaj
{
'rozmiar' : 0 ,
'aggs' : {
'statystyki_ilości' : {
„statystyki” : {
'pole' : 'całkowita ilość'
}
}
}
}



Powyższy zrzut ekranu wyświetla statystyki w danych wyjściowych z „ całkowita ilość ' pole.

Agregacja filtrów

Agregacja filtrów służy do filtrowania danych na podstawie terminu lub frazy z bazy danych, ponieważ zawiera je poniższy kod:

DOSTAWAĆ / kibana_sample_data_ecommerce / _szukaj
{ 'rozmiar' : 0 ,
'aggs' : {
„agregacja_filtrów” : {
'filtr' : {
'termin' : {
'użytkownik' : „Eddie” } } ,
'aggs' : {
„cena_średnia” : {
„średnia” : {
'pole' : 'produkty.cena' } }
} } } }



Wykonanie kodu przefiltruje dane na podstawie „ Eddie ” i wyświetla średnią cenę zakupionych przedmiotów. Powyższy zrzut ekranu pokazuje, że użytkownik znalazł 100 razy z danych i wartość z śr _ cena zbiór.

Agregacja terminów

Termin agregacja tworzy zasobnik i przechowuje dane z pola w zasobniku, a poniższy kod wykorzystuje „ użytkownik ” pole do przechowywania jego danych w zasobniku:

DOSTAWAĆ / kibana_sample_data_ecommerce / _szukaj
{
'rozmiar' : 0 ,
'aggs' : {
„Agregacja_terminów” : {
'warunki' : {
'pole' : 'użytkownik'
}
}
}
}



Poniższy zrzut ekranu pokazuje, że agregacja terminów utworzyła zasobniki dla każdego użytkownika i liczby jego dokumentów.

To wszystko o agregacji Elasticsearch i innych ważnych agregacjach.

Wniosek

W Elasticsearch agregacja służy do uzyskiwania danych z zagregowanych dokumentów, a dokumenty te są wyodrębniane z określonego pola. Wyjaśniono kilka ważnych agregacji, które są wykorzystywane do uzyskiwania przydatnych informacji z indeksów. W tym przewodniku wyjaśniono agregację Elasticsearch i zademonstrowano proces korzystania z agregacji Elasticsearch.