Co je agregace Elasticsearch?

Co Je Agregace Elasticsearch



Data jsou denně shromažďována v obrovském množství a správa velkých dat je nejdůležitějším případem použití nástroje Elasticsearch. Data jsou ukládána do analytické databáze v reálném čase a uživateli je umožněno extrahovat data, aby z nich pomocí dotazů našel užitečné znalosti. Uživatel může použít dotazy k vyhledání dat z více indexů a jejich zobrazení v jednom segmentu z relační databáze.

Tato příručka vysvětlí agregace Elasticsearch s příklady použití různých agregací.







Co je agregace Elasticsearch?

V Elasticsearch je agregace proces kombinování nebo seskupování polí za účelem extrahování informací z relační databáze. Agregaci v Elasticsearch lze považovat za SKUPINA PODLE klauzule nebo AGREGÁT() funkce v jazyce SQL.



Jak používat agregaci Elasticsearch?

Aby uživatel mohl používat agregaci v Elasticsearch, musí mít základní znalosti o své databázi. Podívejme se na syntaxi a její praktickou implementaci:



Syntax





Chcete-li najít data z databáze, syntaxe agregace v nástroji Elasticsearch, jak je uvedeno níže:

'aggs' : {
'name_of_agregation' : {
'type_of_agregation' : {
'pole' : 'název_pole_dokumentu'
}


Výše uvedené úryvky:



    • Používá se „ aggs ” klíčové slovo, které vysvětluje použití agregace v dotazu.
    • The název_agregace je nastaven uživatelem podle požadovaných informací.
    • Poté, typ_agregace slouží k získávání dat.
    • Poslední řádek používá pole klíčové slovo, za kterým následuje název atributu z dokumentu.

Příklad 1: Agregace ve vzorových datech Kibana

Tato část vysvětluje agregaci pomocí příkladu s použitím ukázkových dat z Kibana tak, že se k ní nejprve připojíte. Poté jednoduše zamiřte dovnitř „ Vývojářské nástroje ” vyhledáním z vyhledávacího pole a kliknutím na něj:


Načtení dat z ukázkových dat

Jednoduše použijte následující příkaz k načtení dat z „ kibana_sample_data_logs ” index na konzole Dev Tools:

DOSTAT / kibana_sample_data_logs / _Vyhledávání



Výstup ukazuje, že data byla načtena z „ kibana_sample_data_logs 'index.'

Následující kód používá a DOSTAT žádost na ' kibana_sample_data_log “ a vyhledávat z něj pomocí agregace value_count na „ klientip pole:

DOSTAT / kibana_sample_data_logs / _Vyhledávání
{ 'velikost' : 0 ,
'aggs' : {
'ip_count' : {
'value_count' : {
'pole' : 'klientský tip'
}
}
}
}



Výše uvedený snímek obrazovky zobrazuje agregaci na klientip pole s hodnotou 14074 .

Důležité agregace

Některé z důležitých agregací, které se používají k efektivnímu vyhledávání dat z databáze, jsou uvedeny níže:

Následující příklady vysvětlují výše uvedené agregace pomocí DOSTAT žádost od „ kibana_sample_data_ecommerce 'index:

Agregace mohutnosti

Následující kód používá „ mohutnost 'agregace na ' sku ” z dat elektronického obchodu. Spuštěním tohoto kódu získáte agregaci s jednou hodnotou pro získání jedinečných SKU z databáze Elasticsearch:

DOSTAT / kibana_sample_data_ecommerce / _Vyhledávání
{
'velikost' : 0 ,
'aggs' : {
'unique_skus' : {
'kardinalita' : {
'pole' : 'sku'
}
}
}
}



Zobrazuje mohutnost agregace najít 7186 hodnot z indexu.

Agregace statistik

Další důležitou agregací je „ statistiky „agregace, která se používá k získání „ počet “, “ min “, “ max “, “ prům ', a ' součet “ statistiky z “ celkové množství pole:

DOSTAT / kibana_sample_data_ecommerce / _Vyhledávání
{
'velikost' : 0 ,
'aggs' : {
'quantity_stats' : {
'statistiky' : {
'pole' : 'celkové množství'
}
}
}
}



Výše uvedený snímek obrazovky zobrazuje statistiky ve výstupu z „ celkové množství pole.

Agregace filtrů

Agregace filtrů se používá k filtrování dat na základě výrazu nebo fráze z databáze, protože je obsahuje následující kód:

DOSTAT / kibana_sample_data_ecommerce / _Vyhledávání
{ 'velikost' : 0 ,
'aggs' : {
'filter_agregation' : {
'filtr' : {
'období' : {
'uživatel' : 'eddie' } } ,
'aggs' : {
'price_avg' : {
'průměr' : {
'pole' : 'produkty.cena' } }
} } } }



Spuštění kódu bude filtrovat data na základě „ Eddie “ a zobrazuje průměrnou cenu zakoupených položek. Výše uvedený snímek obrazovky ukazuje, že uživatel byl nalezen 100 časy z dat a hodnota z prům _ cena agregace.

Agregace termínů

Termín agregace vytvoří kbelík a uloží data z pole v kbelíku a následující kód používá „ uživatel ” pro uložení dat do segmentu:

DOSTAT / kibana_sample_data_ecommerce / _Vyhledávání
{
'velikost' : 0 ,
'aggs' : {
'Term_Aggregation' : {
'podmínky' : {
'pole' : 'uživatel'
}
}
}
}



Následující snímek obrazovky ukazuje, že agregace termínů vytvořila segmenty pro každého uživatele a počet jeho dokumentů.

To je vše o agregaci Elasticsearch a různé důležité agregaci.

Závěr

V Elasticsearch se agregace používá k získání dat z agregovaných dokumentů a tyto dokumenty jsou extrahovány z konkrétního pole. Jsou zde vysvětleny některé důležité agregace, které se používají k získání užitečných informací z indexů. Tato příručka vysvětluje agregaci Elasticsearch a ukazuje proces použití agregace Elasticsearch.