Mikä on Elasticsearch-aggregaatio?

Mika On Elasticsearch Aggregaatio



Dataa kerätään valtavia määriä päivittäin ja big datan hallinta on Elasticsearch-moottorin tärkein käyttötapa. Tiedot tallennetaan analytiikkatietokantaan reaaliajassa ja käyttäjä voi poimia tietoja löytääkseen niistä hyödyllistä tietoa kyselyiden avulla. Käyttäjä voi hakea tietoja useista hakemistoista kyselyillä ja näyttää ne yhdessä relaatiotietokannan ryhmässä.

Tämä opas selittää Elasticsearch-aggregaatiot esimerkein käyttämällä erilaisia ​​aggregaatioita.







Mikä on Elasticsearch-aggregaatio?

Elasticsearchissa aggregointi on prosessi, jossa kentät yhdistetään tai ryhmitellään tietojen poimimiseksi relaatiotietokannasta. Elasticsearchin aggregaatiota voidaan pitää RYHMÄ LAUSEKSI tai AGGREGAATTI() funktio SQL-kielellä.



Kuinka käyttää Elasticsearch-aggregaatiota?

Käyttääkseen aggregaatiota Elasticsearchissa, käyttäjän on ymmärrettävä tietokantansa perustiedot. Tutustutaanpa syntaksiin ja sen käytännön toteutukseen:



Syntaksi





Tietokannan tietojen löytämiseksi Elasticsearch-moottorin koosteen syntaksi seuraavasti:

'aggs' : {
'koon_nimi' : {
'koon_tyyppi' : {
'ala' : 'asiakirjan_kentän_nimi'
}


Yllä olevat katkelmat:



    • Se käyttää ' aggs ”-avainsana, joka selittää aggregoinnin käytön kyselyssä.
    • The aggregaation_nimi Käyttäjä asettaa sen vaadittujen tietojen mukaan.
    • Sen jälkeen, aggregoinnin_tyyppi käytetään tiedon saamiseen.
    • Viimeinen rivi käyttää ala avainsana, jota seuraa asiakirjan attribuutin nimi.

Esimerkki 1: Aggregointi Kibanan näytetiedoissa

Tässä osiossa selitetään aggregointi esimerkin avulla käyttämällä Kibanan näytedataa yhdistämällä siihen ensin. Sen jälkeen mene yksinkertaisesti sisään Kehittäjätyökalut ' etsimällä sitä hakupalkista ja napsauttamalla sitä:


Hae tiedot näytetiedoista

Käytä vain seuraavaa komentoa hakeaksesi tiedot ' kibana_sample_data_logs ” hakemisto Dev Tools -konsolissa:

SAADA / kibana_sample_data_logs / _Hae



Tulos osoittaa, että tiedot on haettu ' kibana_sample_data_logs ' indeksi.

Seuraava koodi käyttää a SAADA pyyntö osoitteessa ' kibana_sample_data_log ' tehdäksesi hakuja siitä käyttämällä arvo_count-yhdistelmää ' asiakastunnus '-kenttä:

SAADA / kibana_sample_data_logs / _Hae
{ 'koko' : 0 ,
'aggs' : {
'ip_count' : {
'arvo_määrä' : {
'ala' : 'asiakas'
}
}
}
}



Yllä oleva kuvakaappaus näyttää koosteen asiakastunnus kenttään arvolla 14074 .

Tärkeitä aggregaatioita

Alla on mainittu joitakin tärkeitä aggregaatioita, joita käytetään tietojen tehokkaaseen löytämiseen tietokannasta:

Seuraavat esimerkit selittävät edellä mainitut aggregaatiot käyttämällä SAADA pyyntö käyttäjältä ' kibana_sample_data_ecommerce ' indeksi:

Kardinaalisuuden yhdistäminen

Seuraava koodi käyttää ' kardinaalisuus ' yhdistäminen ' sku ” -kenttään verkkokaupan tiedoista. Tämän koodin suorittaminen saa yhden arvon koosteen yksilöllisten SKU:iden saamiseksi Elasticsearch-tietokannasta:

SAADA / kibana_sample_data_ecommerce / _Hae
{
'koko' : 0 ,
'aggs' : {
'ainutlaatuinen_skus' : {
'kardinaliteetti' : {
'ala' : 'sku'
}
}
}
}



Se näyttää kardinaalisuus yhdistäminen löytää 7186 arvoa hakemistosta.

Tilastojen yhdistäminen

Toinen tärkeä yhdistelmä on ' tilastot ' yhdistäminen, jota käytetään ' Kreivi ”, “ min ”, “ max ”, “ keskim ”, ja ” summa ' tilastot ' kokonaismäärä '-kenttä:

SAADA / kibana_sample_data_ecommerce / _Hae
{
'koko' : 0 ,
'aggs' : {
'määrä_tilastot' : {
'tilastot' : {
'ala' : 'kokonaismäärä'
}
}
}
}



Yllä oleva kuvakaappaus näyttää tilastot ' kokonaismäärä ”-kenttään.

Suodattimen yhdistäminen

Suodatinyhdistelmää käytetään suodattamaan tietoja termin tai lauseen perusteella tietokannasta, koska seuraava koodi sisältää sen:

SAADA / kibana_sample_data_ecommerce / _Hae
{ 'koko' : 0 ,
'aggs' : {
'filter_aggregation' : {
'suodattaa' : {
'termi' : {
'käyttäjä' : 'eddie' } } ,
'aggs' : {
'price_avg' : {
'keskiarvo' : {
'ala' : 'tuotteet.hinta' } }
} } } }



Koodin suorittaminen suodattaa tiedot ' eddie ” käyttäjälle ja näyttää ostettujen tuotteiden keskihinnan. Yllä oleva kuvakaappaus näyttää, että käyttäjä on löytänyt 100 kertaa tiedoista ja arvo -lta keskim _ hinta yhdistäminen.

Termien yhdistäminen

Termi aggregointi luo kauhan ja tallentaa tiedot kentästä säilöyn ja seuraava koodi käyttää ' käyttäjä ” -kenttä tallentaaksesi sen tiedot ämpäriin:

SAADA / kibana_sample_data_ecommerce / _Hae
{
'koko' : 0 ,
'aggs' : {
'Term_aggregation' : {
'ehdot' : {
'ala' : 'käyttäjä'
}
}
}
}



Seuraava kuvakaappaus näyttää, että termi yhdistäminen on luonut ryhmät jokaiselle käyttäjälle ja heidän asiakirjojen määrälle.

Siinä kaikki Elasticsearch-aggregaatiosta ja erilaisesta tärkeästä aggregaatiosta.

Johtopäätös

Elasticsearchissa aggregointia käytetään tietojen saamiseksi kootuista asiakirjoista ja nämä asiakirjat poimitaan tietystä kentästä. On olemassa joitakin tärkeitä aggregaatioita, joita käytetään hyödyllisten näkemysten saamiseksi indekseistä. Tämä opas on selittänyt Elasticsearch-aggregaation ja osoittanut Elasticsearch-aggregaation käyttöprosessin.