全部产品
Search
文档中心

Elasticsearch:Gunakan plug-in analytic-search

更新时间:Jun 24, 2025

Plug-in analytic-search adalah alat log query yang dikembangkan oleh tim Elasticsearch Alibaba Cloud. Alat ini mendukung indeks.sort pada bidang waktu untuk mempercepat kueri berdasarkan kondisi pencarian tertentu di halaman Discover pada Konsol Kibana dari kluster Elasticsearch. Plug-in ini juga menyediakan fitur kueri konkuren, membantu mengurangi waktu yang diperlukan untuk menanyakan data secara signifikan. Topik ini menjelaskan cara menggunakan plug-in analytic-search.

Informasi latar belakang

Berikut ini adalah deskripsi fitur yang didukung oleh plug-in analytic-search, skenario penggunaannya, serta informasi terkait pengujian kinerja yang telah dilakukan.

Fitur akselerasi untuk kueri yang dilakukan di halaman Discover konsol Kibana

  • Skema Penggunaan: Fitur ini cocok untuk skenario log query. Sebagai contoh, Anda dapat menggunakan plug-in analytic-search untuk mempercepat kueri tanpa syarat dan kueri dengan satu kondisi di halaman Discover Konsol Kibana.
  • Manfaat: Kebijakan penggabungan indeks dan kebijakan agregasi histogram tanggal dioptimalkan, meningkatkan kinerja kueri tanpa syarat dan kueri dengan satu kondisi dalam skenario log query. Dalam skenario di mana lebih dari 1 TB data ditambahkan setiap hari, waktu yang diperlukan untuk menyelesaikan kueri berkurang dari beberapa menit menjadi 5 detik atau kurang.
  • Pengujian Kinerja:
    • Lingkungan Pengujian
      • Node: 10 node, masing-masing menawarkan 16 vCPU dan 64 GiB memori.
      • Dataset: Data log bisnis sebanyak 60 miliar dokumen per hari. Data disimpan dalam 12 indeks, masing-masing dikonfigurasikan dengan 60 shard.
    • Tabel berikut menunjukkan persentase penurunan waktu yang diperlukan untuk menanyakan data dari media penyimpanan yang berbeda setelah fitur akselerasi diaktifkan untuk kueri di halaman Discover Konsol Kibana.
      Jenis kueriSSD StandarUltra diskOpenStore
      Kueri tanpa syaratBerkurang sebesar 96%Berkurang sebesar 95%Berkurang sebesar 94%
      Kueri dengan satu kondisiBerkurang sebesar 88%Berkurang sebesar 77%Berkurang sebesar 85%
      Kueri dengan banyak kondisiBerkurang sebesar 8%Berkurang sebesar 11%Berkurang sebesar 14%

Fitur kueri konkuren

  • Skema Penggunaan: Fitur ini cocok untuk skenario di mana permintaan per detik (QPS) rendah, waktu yang panjang diperlukan untuk mengembalikan hasil kueri, dan sumber daya komputasi node cukup tersedia.
  • Manfaat: Thread konkuren dapat digunakan untuk mengembalikan hasil kueri, mengurangi rata-rata waktu yang diperlukan untuk mengembalikan hasil kueri hingga 50%. Pemanfaatan sumber daya meningkat.
  • Pengujian Kinerja:
    • Lingkungan Pengujian
      • Node: Tiga node komputasi bersama hangat-dingin yang disediakan oleh OpenStore, masing-masing menawarkan 16 vCPU dan 64 GiB memori.
        null Node komputasi bersama hangat-dingin yang disediakan oleh OpenStore tersedia untuk dibeli di Konsol Elasticsearch hanya di Situs Alibaba Cloud China (aliyun.com).
      • Dataset: 1,6 TB data log bisnis. Data disimpan sebagai 6 miliar dokumen dalam indeks yang dikonfigurasikan dengan 60 shard.
      • Kueri: 3 TermQuery(and) + TimeRange + Sort + Datehistogram. 10 juta dokumen dapat di-query dari satu shard dengan tingkat hit sebesar 10%.
    • Hasil Pengujian:
      • Waktu yang diperlukan untuk menanyakan data dari satu shard berkurang sebesar 65%.
      • Waktu yang diperlukan untuk menanyakan data dari beberapa shard berkurang sebesar 53%.

Prasyarat

Sebuah kluster Elasticsearch V7.10.0 Alibaba Cloud telah dibuat. Versi kernel kluster adalah V1.7.0 atau lebih baru. Dalam contoh ini, sebuah kluster Elasticsearch V7.10.0 Alibaba Cloud digunakan. Untuk informasi tentang cara membuat kluster Elasticsearch Alibaba Cloud, lihat Buat Kluster Elasticsearch Alibaba Cloud.
null Secara default, plug-in analytic-search terinstal dan tidak dapat dilepas. Untuk informasi tentang plug-in, lihat Ikhtisar Plug-in.

Aktifkan fitur akselerasi untuk kueri yang dilakukan di halaman Discover konsol Kibana

Untuk mengaktifkan fitur akselerasi untuk kueri di halaman Discover Konsol Kibana, tambahkan konfigurasi berikut di bidang settings dan mappings saat Anda membuat indeks.
null Kode sampel berikut disediakan hanya untuk referensi. Dalam skenario bisnis aktual, Anda harus menentukan bidang yang ingin Anda gunakan untuk mengurutkan indeks Anda dan urutan pengurutan untuk setiap bidang sesuai kebutuhan bisnis Anda.
{
  "settings": {
    "index.points.same_sort_order_as_index_sort": true,
    "index.sort.field": [
      "@timestamp"
    ],
    "index.sort.order": [
      "desc"
    ]
  },
  "mappings": {
    "properties": {
      "@timestamp": {
        "type": "date"
      }
    }
  }
}

Gunakan fitur kueri konkuren

  1. Masuk ke Konsol Kibana kluster Elasticsearch Anda dan buka halaman utama Konsol Kibana sesuai petunjuk.

    Untuk informasi lebih lanjut tentang cara masuk ke Konsol Kibana, lihat Masuk ke Konsol Kibana.

    null

    Dalam contoh ini, kluster Elasticsearch V7.10.0 digunakan. Operasi pada kluster versi lain mungkin berbeda. Operasi aktual di konsol yang berlaku.

  2. Di pojok kanan atas halaman yang muncul, klik Dev tools.

  3. Pada tab Console, jalankan perintah berikut untuk mengaktifkan fitur kueri konkuren:
    PUT _cluster/settings
    {
      "persistent": {
        "apack.analytic_search.doc_concurrency.enabled": "true"
      }
    }
    Setelah perintah sebelumnya berhasil dijalankan, permintaan yang diterima oleh kluster Elasticsearch diproses berdasarkan pengaturan default untuk fitur kueri konkuren. Anda dapat memodifikasi konfigurasi terkait fitur kueri konkuren untuk mengontrol operasi kueri konkuren. Tabel berikut menjelaskan parameter yang dapat Anda konfigurasikan.
    • Konfigurasi Tingkat Kluster
      ParameterNilai defaultDeskripsi
      apack.analytic_search.doc_concurrency.enabledfalseMenentukan apakah akan mengaktifkan fitur kueri konkuren. Nilai valid:
      • true: Mengaktifkan fitur kueri konkuren.
      • false: Menonaktifkan fitur kueri konkuren.
      apack.analytic_search.doc_concurrency.concurrent.policy80%:4;90%:2Kebijakan konkurensi kueri. Anda harus mengonfigurasi parameter ini dalam format Ambang 1:Konkurensi 1;Ambang 2:Konkurensi 2;....

      Ambang n mewakili ambang batas untuk pemanfaatan CPU node. Konkurensi n mewakili jumlah thread konkuren yang akan digunakan untuk kueri ketika pemanfaatan CPU node kurang dari nilai Ambang n. Sebagai contoh, nilai 80%:4;90%:2 menunjukkan bahwa empat thread konkuren digunakan untuk kueri ketika pemanfaatan CPU node kurang dari 80% dan dua thread konkuren digunakan untuk kueri ketika pemanfaatan CPU node kurang dari 90%. Jika pemanfaatan CPU node lebih besar dari atau sama dengan 90%, hanya satu thread yang digunakan untuk kueri.

      apack.analytic_search.doc_concurrency.min_support_doc10000Jumlah minimum dokumen dalam indeks tempat fitur kueri konkuren dapat berlaku. Jika jumlah dokumen dalam indeks kurang dari batas bawah, fitur kueri konkuren tidak berlaku pada indeks.
      apack.analytic_search.doc_concurrency.min_support_processors4Jumlah minimum vCPU yang dikonfigurasikan untuk node tempat fitur kueri konkuren dapat berlaku. Jika jumlah vCPU yang dikonfigurasikan untuk node kurang dari batas bawah, fitur kueri konkuren tidak berlaku pada node.
      apack.analytic_search.doc_concurrency.max_support_heap_usage80%Penggunaan heap memori Java Virtual Machine (JVM) maksimum dari node tempat fitur kueri konkuren dapat berlaku. Jika penggunaan heap memori JVM dari node lebih besar dari batas atas, fitur kueri konkuren tidak berlaku pada node.
      apack.analytic_search.doc_concurrency.max_support_cpu_usage90%Pemanfaatan CPU maksimum dari node tempat fitur kueri konkuren dapat berlaku. Jika pemanfaatan CPU dari node lebih besar dari batas atas, fitur kueri konkuren tidak berlaku pada node.
    • Konfigurasi Tingkat Indeks
      ParameterNilai defaultDeskripsi
      index.apack.analytic_search.doc_concurrency.enabledtrueMenentukan apakah akan mengaktifkan fitur kueri konkuren. Nilai valid:
      • true: Mengaktifkan fitur kueri konkuren.
      • false: Menonaktifkan fitur kueri konkuren.
      index.apack.analytic_search.doc_concurrency.allow_no_aggfalseMenentukan apakah akan mengaktifkan fitur kueri konkuren untuk kueri selain kueri agregat.
      • true: Mengaktifkan fitur kueri konkuren untuk kueri selain kueri agregat.
      • false: Menonaktifkan fitur kueri konkuren untuk kueri selain kueri agregat.