Hva er Elasticsearch Aggregation?

Hva Er Elasticsearch Aggregation



Data samles inn i enorme mengder daglig, og håndtering av big data er den viktigste bruken av Elasticsearch-motoren. Dataene lagres i analysedatabasen i sanntid, og brukeren har lov til å trekke ut data for å finne nyttig kunnskap fra dem ved hjelp av spørringer. Brukeren kan bruke spørringer for å finne data fra flere indekser og vise dem i en enkelt bøtte fra relasjonsdatabasen.

Denne veiledningen vil forklare Elasticsearch-aggregeringene med eksempler som bruker forskjellige aggregasjoner.







Hva er Elasticsearch Aggregation?

I Elasticsearch er aggregering prosessen med å kombinere eller gruppere feltene for å trekke ut informasjon fra relasjonsdatabasen. Aggregeringen i Elasticsearch kan betraktes som GRUPPE ETTER KLAUSUL eller AGGREGAT() funksjon i SQL-språket.



Hvordan bruke Elasticsearch Aggregation?

For å bruke aggregeringen i Elasticsearch, må brukeren ha en grunnleggende forståelse av databasen sin. La oss utforske syntaksen og dens praktiske implementering:



Syntaks





For å finne data fra databasen, syntaksen til aggregeringen i Elasticsearch-motoren som nedenfor:

'aggs' : {
'navn_på_aggregation' : {
'type_aggregering' : {
'felt' : 'document_field_name'
}


Utdragene ovenfor:



    • Den bruker ' aggs ” nøkkelord som forklarer bruken av aggregering i spørringen.
    • De navn_på_aggregering settes av brukeren i henhold til nødvendig informasjon.
    • Etter det har type_aggregering brukes til å hente data.
    • Den siste linjen bruker felt nøkkelord som etterfølges av navnet på attributtet fra dokumentet.

Eksempel 1: Aggregering i Kibana-eksempeldata

Denne delen forklarer aggregeringen ved hjelp av et eksempel ved å bruke eksempeldataene fra Kibana ved å koble til den først. Etter det går du bare inn i ' Utviklerverktøy ' ved å søke på den fra søkefeltet og klikke på den:


Hent data fra eksempeldata

Bare bruk følgende kommando for å hente dataene fra ' kibana_sample_data_logs ”-indeksen på Dev Tools-konsollen:

/ kibana_sample_data_logs / _Søk



Utdataene viser at data har blitt hentet fra ' kibana_sample_data_logs ' indeks.

Følgende kode bruker en forespørsel på ' kibana_sample_data_log ' for å søke fra den ved å bruke aggregeringen av verdi_antall på ' klienttips ' felt:

/ kibana_sample_data_logs / _Søk
{ 'størrelse' : 0 ,
'aggs' : {
'ip_count' : {
'verditall' : {
'felt' : 'klienttips'
}
}
}
}



Skjermbildet ovenfor viser aggregeringen på klienttips feltet med verdien 14074 .

Viktige samlinger

Noen av de viktige aggregeringene som brukes for å finne data effektivt fra databasen er nevnt nedenfor:

Følgende eksempler forklarer de ovennevnte aggregeringene ved å bruke forespørsel fra ' kibana_sample_data_ecommerce 'indeks:

Kardinalitet Aggregasjon

Følgende kode bruker ' kardinalitet ' aggregering på ' sku ”-feltet fra e-handelsdataene. Kjøring av denne koden vil få enkeltverdiaggregering for å få de unike SKUene fra Elasticsearch-databasen:

/ kibana_sample_data_ecommerce / _Søk
{
'størrelse' : 0 ,
'aggs' : {
'unique_skus' : {
'kardinalitet' : {
'felt' : 'sku'
}
}
}
}



Den viser kardinalitet aggregering å finne 7186 verdier fra indeksen.

Statistikk Aggregasjon

En annen viktig aggregering er ' statistikk ' aggregering som brukes for å få ' telle ', ' min ', ' maks ', ' gj.sn ', og ' sum ' statistikk fra ' totalt antall ' felt:

/ kibana_sample_data_ecommerce / _Søk
{
'størrelse' : 0 ,
'aggs' : {
'quantity_stats' : {
'statistikk' : {
'felt' : 'totalt antall'
}
}
}
}



Skjermbildet ovenfor viser statistikken i utdataene fra ' totalt antall ' felt.

Filteraggregation

Filteraggregering brukes til å filtrere ut data basert på et begrep eller en frase fra databasen som følgende kode inneholder den:

/ kibana_sample_data_ecommerce / _Søk
{ 'størrelse' : 0 ,
'aggs' : {
'filter_aggregation' : {
'filter' : {
'begrep' : {
'bruker' : 'eddie' } } ,
'aggs' : {
'pris_gjennomsnitt' : {
'avg' : {
'felt' : 'produkter.pris' } }
} } } }



Utførelse av kode vil filtrere dataene basert på ' eddie ” bruker og viser gjennomsnittsprisen på varene som er kjøpt. Skjermbildet ovenfor viser at bruker har funnet 100 ganger fra dataene og verdi av gj.sn _ pris aggregering.

Term Aggregasjon

Begrepet aggregering lager en bøtte og lagrer data fra feltet i bøtte, og følgende kode bruker ' bruker '-feltet for å lagre dataene i bøtten:

/ kibana_sample_data_ecommerce / _Søk
{
'størrelse' : 0 ,
'aggs' : {
'Term_Aggregation' : {
'vilkår' : {
'felt' : 'bruker'
}
}
}
}



Følgende skjermbilde viser at begrepet aggregering har skapt samlinger for hver bruker og deres dokumentantall.

Det handler om Elasticsearch-aggregering og forskjellig viktig aggregering.

Konklusjon

I Elasticsearch brukes aggregeringen til å hente data fra de aggregerte dokumentene og disse dokumentene trekkes ut fra et spesifikt felt. Det er noen viktige aggregeringer som brukes for å få nyttig innsikt fra indeksene er forklart. Denne veiledningen har forklart Elasticsearch-aggregering og demonstrert prosessen med å bruke Elasticsearch-aggregering.