Apakah itu Elasticsearch Aggregation?

Apakah Itu Elasticsearch Aggregation



Data dikumpul dalam jumlah yang besar setiap hari dan mengurus data besar ialah kes penggunaan paling penting bagi enjin Elasticsearch. Data disimpan dalam pangkalan data analitik dalam masa nyata dan pengguna dibenarkan mengekstrak data untuk mencari pengetahuan berguna daripadanya menggunakan pertanyaan. Pengguna boleh menggunakan pertanyaan untuk mencari data daripada berbilang indeks dan memaparkannya dalam baldi tunggal daripada pangkalan data hubungan.

Panduan ini akan menerangkan pengagregatan Elasticsearch dengan contoh menggunakan pengagregatan yang berbeza.







Apakah itu Elasticsearch Aggregation?

Dalam Elasticsearch, pengagregatan ialah proses menggabungkan atau mengumpulkan medan untuk mengekstrak maklumat daripada pangkalan data hubungan. Pengagregatan dalam Elasticsearch boleh dianggap sebagai KUMPULAN MENGIKUT FASAL atau AGREGATE() berfungsi dalam bahasa SQL.



Bagaimana untuk Menggunakan Pengagregatan Elasticsearch?

Untuk menggunakan pengagregatan dalam Elasticsearch, pengguna perlu mempunyai pemahaman asas tentang pangkalan data mereka. Mari kita terokai sintaks dan pelaksanaan praktikalnya:



Sintaks





Untuk mencari data daripada pangkalan data, sintaks pengagregatan dalam enjin Elasticsearch seperti di bawah:

'aggs' : {
'nama_penggabungan' : {
'jenis_penggabungan' : {
'padang' : 'nama_bidang_dokumen'
}


Coretan di atas:



    • Ia menggunakan ' aggs ” kata kunci yang menerangkan penggunaan pengagregatan dalam pertanyaan.
    • The nama_penggabungan ditetapkan oleh pengguna mengikut maklumat yang diperlukan.
    • Selepas itu, yang jenis_pengumpulan digunakan untuk mendapatkan data.
    • Baris terakhir menggunakan padang kata kunci yang diikuti dengan nama atribut daripada dokumen.

Contoh 1: Pengagregatan dalam Data Sampel Kibana

Bahagian ini menerangkan pengagregatan dengan bantuan contoh menggunakan data sampel daripada Kibana dengan menyambungkannya terlebih dahulu. Selepas itu, hanya masuk ke dalam ' Alat Pembangun ” dengan mencarinya dari bar carian dan mengklik padanya:


Ambil Data Daripada Data Sampel

Hanya gunakan arahan berikut untuk mengambil data daripada ' kibana_sample_data_logs ” indeks pada konsol Alat Pembangun:

DAPATKAN / kibana_sample_data_logs / _cari



Output menunjukkan bahawa data telah diambil daripada ' kibana_sample_data_logs ” indeks.

Kod berikut menggunakan a DAPATKAN permintaan pada ' kibana_sample_data_log ” untuk mencari daripadanya menggunakan pengagregatan value_count pada “ pelanggan ” medan:

DAPATKAN / kibana_sample_data_logs / _cari
{ 'saiz' : 0 ,
'aggs' : {
'ip_count' : {
'nilai_kira' : {
'padang' : 'klien'
}
}
}
}



Tangkapan skrin di atas memaparkan pengagregatan pada pelanggan medan dengan nilai 14074 .

Agregasi Penting

Beberapa pengagregatan penting yang sedang digunakan untuk mencari data dengan cekap daripada pangkalan data disebutkan di bawah:

Contoh berikut menerangkan pengagregatan yang disebutkan di atas menggunakan DAPATKAN permintaan daripada ' kibana_sample_data_ecommerce ” indeks:

Pengagregatan Kardinaliti

Kod berikut menggunakan ' kardinaliti ' pengagregatan pada ' sku ” medan daripada data e-dagang. Menjalankan kod ini akan mendapat pengagregatan nilai tunggal untuk mendapatkan SKU unik daripada pangkalan data Elasticsearch:

DAPATKAN / kibana_sample_data_ecommerce / _cari
{
'saiz' : 0 ,
'aggs' : {
'skus_unik' : {
'kardinaliti' : {
'padang' : 'sku'
}
}
}
}



Ia memaparkan kardinaliti pengagregatan mencari 7186 nilai daripada indeks.

Pengagregatan Statistik

Satu lagi pengagregatan penting ialah ' statistik ' pengagregatan yang digunakan untuk mendapatkan ' kira ”, “ min ”, “ maks ”, “ purata ”, dan “ jumlah ' statistik daripada ' kuantiti keseluruhan ” medan:

DAPATKAN / kibana_sample_data_ecommerce / _cari
{
'saiz' : 0 ,
'aggs' : {
'kuantiti_statistik' : {
'statistik' : {
'padang' : 'kuantiti keseluruhan'
}
}
}
}



Tangkapan skrin di atas memaparkan statistik dalam output daripada ' kuantiti keseluruhan ” padang.

Pengagregatan Penapis

Pengagregatan penapis digunakan untuk menapis data berdasarkan istilah atau frasa daripada pangkalan data kerana kod berikut mengandunginya:

DAPATKAN / kibana_sample_data_ecommerce / _cari
{ 'saiz' : 0 ,
'aggs' : {
'penapis_agregasi' : {
'penapis' : {
'istilah' : {
'pengguna' : 'eddie' } } ,
'aggs' : {
'harga_purata' : {
'purata' : {
'padang' : 'produk.harga' } }
} } } }



Pelaksanaan kod akan menapis data berdasarkan ' eddie ” pengguna dan memaparkan purata harga barangan yang dibeli. Tangkapan skrin di atas memaparkan bahawa pengguna telah jumpa 100 kali daripada data dan nilai daripada purata _ harga pengagregatan.

Pengagregatan Istilah

Istilah pengagregatan mencipta baldi dan menyimpan data dari medan dalam baldi dan kod berikut menggunakan ' pengguna ” medan untuk menyimpan datanya dalam baldi:

DAPATKAN / kibana_sample_data_ecommerce / _cari
{
'saiz' : 0 ,
'aggs' : {
'Term_Aggregation' : {
'syarat' : {
'padang' : 'pengguna'
}
}
}
}



Tangkapan skrin berikut memaparkan bahawa istilah pengagregatan telah mencipta baldi untuk setiap pengguna dan kiraan dokumen mereka.

Itu semua tentang pengagregatan Elasticsearch dan pengagregatan penting yang berbeza.

Kesimpulan

Dalam Elasticsearch, pengagregatan digunakan untuk mendapatkan data daripada dokumen agregat dan dokumen ini diekstrak daripada medan tertentu. Terdapat beberapa pengagregatan penting yang sedang digunakan untuk mendapatkan cerapan berguna daripada indeks dijelaskan. Panduan ini telah menerangkan pengagregatan Elasticsearch dan menunjukkan proses menggunakan pengagregatan Elasticsearch.