Cos'è l'aggregazione Elasticsearch?

Cos E L Aggregazione Elasticsearch



I dati vengono raccolti in grandi quantità ogni giorno e la gestione dei big data è il caso d'uso più importante del motore Elasticsearch. I dati vengono archiviati nel database di analisi in tempo reale e l'utente può estrarre i dati per trovare informazioni utili da esso utilizzando query. L'utente può applicare query per trovare dati da più indici e visualizzarli in un singolo bucket dal database relazionale.

Questa guida spiegherà le aggregazioni Elasticsearch con esempi che utilizzano diverse aggregazioni.







Cos'è l'aggregazione Elasticsearch?

In Elasticsearch, l'aggregazione è il processo di combinazione o raggruppamento dei campi per estrarre informazioni dal database relazionale. L'aggregazione in Elasticsearch può essere considerata come il GRUPPO PER CLAUSOLA O AGGREGATO() funzione nel linguaggio SQL.



Come utilizzare l'aggregazione Elasticsearch?

Per utilizzare l'aggregazione in Elasticsearch, l'utente deve avere una conoscenza di base del proprio database. Esploriamo la sintassi e la sua implementazione pratica:



Sintassi





Per trovare i dati dal database, la sintassi dell'aggregazione nel motore Elasticsearch come di seguito:

'aggiungi' : {
'nome_dell'aggregazione' : {
'tipo_di_aggregazione' : {
'campo' : 'nome_campo_documento'
}


I frammenti di cui sopra:



    • Usa il “ agg ” parola chiave che spiega l'utilizzo dell'aggregazione nella query.
    • IL nome_di_aggregazione viene impostato dall'utente in base alle informazioni richieste.
    • Dopodiché, il tipo_di_aggregazione viene utilizzato per ottenere dati.
    • L'ultima riga utilizza il campo parola chiave seguita dal nome dell'attributo del documento.

Esempio 1: aggregazione nei dati campione di Kibana

Questa sezione spiega l'aggregazione con l'aiuto di un esempio utilizzando i dati di esempio di Kibana collegandosi prima ad esso. Dopodiché, vai semplicemente all'interno del ' Strumenti di sviluppo ” cercandolo dalla barra di ricerca e facendo clic su di esso:


Recupera i dati dai dati di esempio

Usa semplicemente il seguente comando per recuperare i dati dal ' kibana_sample_data_logs ” indice sulla console Dev Tools:

OTTENERE / kibana_sample_data_logs / _ricerca



L'output mostra che i dati sono stati recuperati dal ' kibana_sample_data_logs indice.

Il codice seguente usa a OTTENERE richiesta sul “ kibana_sample_data_log ” per cercarlo utilizzando l'aggregazione value_count sul “ clientip ' campo:

OTTENERE / kibana_sample_data_logs / _ricerca
{ 'misurare' : 0 ,
'aggiungi' : {
'ip_count' : {
'value_count' : {
'campo' : 'suggerimento cliente'
}
}
}
}



Lo screenshot sopra mostra l'aggregazione sul file clientip campo con il valore 14074 .

Aggregazioni importanti

Alcune delle aggregazioni importanti che vengono utilizzate per trovare i dati in modo efficiente dal database sono menzionate di seguito:

Gli esempi seguenti spiegano le aggregazioni sopra menzionate utilizzando l' OTTENERE richiesta del “ kibana_sample_data_ecommerce indice:

Aggregazione di cardinalità

Il codice seguente utilizza il ' cardinalità ” aggregazione sul “ sku ” dai dati dell'e-commerce. L'esecuzione di questo codice otterrà l'aggregazione a valore singolo per ottenere gli SKU univoci dal database Elasticsearch:

OTTENERE / kibana_sample_data_ecommerce / _ricerca
{
'misurare' : 0 ,
'aggiungi' : {
'unique_skus' : {
'cardinalità' : {
'campo' : 'codice'
}
}
}
}



Visualizza il cardinalità aggregazione trovando il 7186 valori dall'indice.

Aggregazione statistiche

Altra importante aggregazione è la “ statistiche ” aggregazione che viene utilizzata per ottenere il “ contare ”, “ min ”, “ max ”, “ media ', E ' somma ' statistiche dal ' quantità totale ' campo:

OTTENERE / kibana_sample_data_ecommerce / _ricerca
{
'misurare' : 0 ,
'aggiungi' : {
'quantità_statistiche' : {
'statistiche' : {
'campo' : 'quantità totale'
}
}
}
}



Lo screenshot sopra mostra le statistiche nell'output del ' quantità totale ' campo.

Filtra l'aggregazione

L'aggregazione dei filtri viene utilizzata per filtrare i dati in base a un termine o una frase dal database come li contiene il codice seguente:

OTTENERE / kibana_sample_data_ecommerce / _ricerca
{ 'misurare' : 0 ,
'aggiungi' : {
'filtro_aggregazione' : {
'filtro' : {
'termine' : {
'utente' : 'eddie' } } ,
'aggiungi' : {
'prezzo_medio' : {
'medio' : {
'campo' : 'prodotti.prezzo' } }
} } } }



L'esecuzione del codice filtrerà i dati in base al ' eddy ” dell'utente e visualizza il prezzo medio degli articoli acquistati. Lo screenshot sopra mostra che il file utente ha trovato 100 volte dai dati e dal valore del media _ prezzo aggregazione.

Aggregazione dei termini

Il termine aggregazione crea un bucket e archivia i dati dal campo nel bucket e il codice seguente utilizza il ' utente ' campo per memorizzare i suoi dati nel secchio:

OTTENERE / kibana_sample_data_ecommerce / _ricerca
{
'misurare' : 0 ,
'aggiungi' : {
'Termine_aggregazione' : {
'termini' : {
'campo' : 'utente'
}
}
}
}



Lo screenshot seguente mostra che il termine aggregazione ha creato bucket per ogni utente e il relativo conteggio dei documenti.

Questo è tutto sull'aggregazione Elasticsearch e su diverse importanti aggregazioni.

Conclusione

In Elasticsearch, l'aggregazione viene utilizzata per ottenere dati dai documenti aggregati e questi documenti vengono estratti da un campo specifico. Ci sono alcune aggregazioni importanti che vengono utilizzate per ottenere informazioni utili dagli indici spiegati. Questa guida ha spiegato l'aggregazione Elasticsearch e dimostrato il processo di utilizzo dell'aggregazione Elasticsearch.