Ce este Elasticsearch Aggregation?

Ce Este Elasticsearch Aggregation



Datele sunt adunate în număr mare zilnic, iar gestionarea datelor mari este cel mai important caz de utilizare al motorului de căutare Elastic. Datele sunt stocate în baza de date de analiză în timp real și utilizatorului i se permite să extragă date pentru a găsi cunoștințe utile din acestea folosind interogări. Utilizatorul poate aplica interogări pentru a găsi date din mai mulți indecși și le poate afișa într-o singură găleată din baza de date relațională.

Acest ghid va explica agregările Elasticsearch cu exemple care utilizează diferite agregări.







Ce este Elasticsearch Aggregation?

În Elasticsearch, agregarea este procesul de combinare sau grupare a câmpurilor pentru a extrage informații din baza de date relațională. Agregarea din Elasticsearch poate fi considerată drept GRUPĂ CU CLAUZĂ sau AGREGAT() funcția în limbajul SQL.



Cum se utilizează Elasticsearch Aggregation?

Pentru a utiliza agregarea în Elasticsearch, utilizatorul trebuie să aibă o înțelegere de bază a bazei de date. Să explorăm sintaxa și implementarea sa practică:



Sintaxă





Pentru a găsi date din baza de date, sintaxa agregării în motorul de căutare Elastic, după cum urmează:

'aggs' : {
„numele_agregației” : {
„tip_de_agregare” : {
'camp' : „nume_câmp_document”
}


Fragmentele de mai sus:



    • Acesta folosește „ aggs ” cuvânt cheie care explică utilizarea agregării în interogare.
    • The numele_agregației este setat de utilizator în funcție de informațiile solicitate.
    • După aceea, tip_de_agregare este folosit pentru a obține date.
    • Ultima linie folosește camp cuvânt cheie care este urmat de numele atributului din document.

Exemplul 1: Agregarea în datele eșantionului Kibana

Această secțiune explică agregarea cu ajutorul unui exemplu de utilizare a datelor eșantion de la Kibana conectându-se mai întâi la acesta. După aceea, mergeți pur și simplu în interiorul „ Instrumente de dezvoltare ” căutându-l din bara de căutare și făcând clic pe el:


Preluați date din eșantion de date

Pur și simplu utilizați următoarea comandă pentru a prelua datele din „ kibana_sample_data_logs ” index pe consola Dev Tools:

OBȚINE / kibana_sample_data_logs / _căutare



Rezultatul arată că datele au fost preluate din „ kibana_sample_data_logs ” index.

Următorul cod folosește a OBȚINE cerere pe „ kibana_sample_data_log ” pentru a căuta din el folosind agregarea value_count pe „ clientip ' camp:

OBȚINE / kibana_sample_data_logs / _căutare
{ 'mărimea' : 0 ,
'aggs' : {
„IP_count” : {
„value_count” : {
'camp' : 'clienttip'
}
}
}
}



Captura de ecran de mai sus afișează agregarea pe clientip câmpul cu valoarea 14074 .

Agregații importante

Unele dintre agregarile importante care sunt folosite pentru a găsi date eficient din baza de date sunt menționate mai jos:

Următoarele exemple explică agregările menționate mai sus folosind OBȚINE cerere de la „ kibana_sample_data_ecommerce ” index:

Agregarea cardinalității

Următorul cod folosește „ cardinalitatea „agregare pe „ sku ” din datele de comerț electronic. Rularea acestui cod va obține o agregare cu o singură valoare pentru a obține SKU-urile unice din baza de date Elasticsearch:

OBȚINE / kibana_sample_data_ecommerce / _căutare
{
'mărimea' : 0 ,
'aggs' : {
„unique_skus” : {
'cardinalitate' : {
'camp' : 'sku'
}
}
}
}



Acesta afișează cardinalitatea agregare găsirea 7186 valori din index.

Agregarea statisticilor

O altă agregare importantă este „ statistici ” agregare care este folosită pentru a obține „ numara ”, “ min ”, “ max ”, “ medie ', și ' sumă ” statistici de la ” cantitatea totala ' camp:

OBȚINE / kibana_sample_data_ecommerce / _căutare
{
'mărimea' : 0 ,
'aggs' : {
„statistici_cantității” : {
'statistici' : {
'camp' : 'cantitatea totala'
}
}
}
}



Captura de ecran de mai sus afișează statisticile în ieșirea din „ cantitatea totala ' camp.

Filtru de agregare

Agregarea filtrelor este folosită pentru a filtra datele pe baza unui termen sau a unei expresii din baza de date, deoarece următorul cod le conține:

OBȚINE / kibana_sample_data_ecommerce / _căutare
{ 'mărimea' : 0 ,
'aggs' : {
'agregare_filtru' : {
'filtru' : {
'termen' : {
'utilizator' : 'Eddie' } } ,
'aggs' : {
'preț_mediu' : {
'medie' : {
'camp' : 'produse.pret' } }
} } } }



Executarea codului va filtra datele pe baza „ eddie ” utilizator și afișează prețul mediu al articolelor achiziționate. Captura de ecran de mai sus arată că utilizator a gasit 100 ori din date și din valoare al medie _ Preț agregare.

Agregarea termenilor

Termenul agregare creează un compartiment și stochează date din câmpul din compartiment, iar codul următor folosește „ utilizator ” câmp pentru a-și stoca datele în găleată:

OBȚINE / kibana_sample_data_ecommerce / _căutare
{
'mărimea' : 0 ,
'aggs' : {
„Term_Aggregation” : {
'termeni' : {
'camp' : 'utilizator'
}
}
}
}



Următoarea captură de ecran arată că agregarea termenilor a creat compartimente pentru fiecare utilizator și numărul de documente al acestora.

Acesta este totul despre agregarea Elasticsearch și alte agregare importante.

Concluzie

În Elasticsearch, agregarea este utilizată pentru a obține date din documentele agregate, iar aceste documente sunt extrase dintr-un anumit câmp. Există câteva agregari importante care sunt folosite pentru a obține informații utile din indici care sunt explicați. Acest ghid a explicat agregarea Elasticsearch și a demonstrat procesul de utilizare a agregării Elasticsearch.