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.