All Products
Search
Document Center

OpenSearch:Optimisasi kueri

Last Updated:Aug 06, 2026

Optimisasi kueri

Kueri lambat merupakan masalah umum di OpenSearch, sering kali disebabkan oleh operasi pengguna yang tidak efisien, jumlah kondisi filter yang berlebihan, atau lonjakan tiba-tiba pada QPS. Fitur slow query analysis di OpenSearch membantu Anda mengidentifikasi kueri lambat dengan konsumsi Logical Computing Unit (LCU) tinggi dalam rentang waktu tertentu serta memberikan saran optimisasi untuk mengurangi biaya.

Manfaat

  • Tanpa biaya: Fitur ini dapat digunakan secara gratis.

  • Analisis sesuai permintaan: Analisis catatan kueri lambat dari bulan lalu dan terima saran optimisasi.

  • Metrik komprehensif: Analisis penyebab kueri lambat menggunakan berbagai metrik, termasuk konsumsi rata-rata, konsumsi puncak, dan persentase terhadap total kueri. Hasilnya dapat diurutkan berdasarkan metrik apa pun.

Catatan penggunaan

  • Anda hanya dapat menganalisis data dari hari sebelumnya. Hasil analisis historis disimpan hingga 30 hari.

Prosedur

1. Aktifkan layanan slow query analysis: Saat pertama kali menggunakan optimisasi kueri, buka Feature Extensions > Query Optimization di panel navigasi sebelah kiri.

Pilih aplikasi tempat Anda ingin mengaktifkan slow query analysis, centang kotak pilihan Enable Slow Query Analysis dan Read Commitment for Use, lalu klik Enable.

2. Analisis data kueri: Setelah layanan diaktifkan, Anda dapat menganalisis data berdasarkan tanggal atau berdasarkan RequestId:

Berdasarkan tanggal: Klik Analyze.

Tunggu hingga analisis selesai.

Berdasarkan RequestId: Masukkan RequestId yang valid dan klik Query.

Kueri akan mengembalikan tabel hasil dengan kolom optimization suggestion dan optimization example. Saran umum meliputi: mengurangi sorted_doc_count_in_qrs (misalnya dengan menurunkan nilai start+hit, seperti mengoptimalkan hit:500 menjadi hit:50), mengurangi seek_times (dengan menambahkan lebih banyak kondisi kueri atau menggunakan filter clause), serta mengurangi match_doc_count (dengan menambahkan lebih banyak kondisi kueri atau filter, misalnya menambahkan AND status:4). Setiap saran mencakup perbandingan berdampingan antara kueri asli dan kueri yang dioptimalkan.

Sistem akan menampilkan pesan kesalahan jika format input salah.

Misalnya, jika Anda memasukkan RequestId yang tidak valid seperti 123 dan mengklik Query, akan muncul error message dengan keterangan "No query analysis suggestion found. Check whether the RequestId is valid." Kode kesalahannya adalah Optimizer.OperationFailed.NoData.

3. Lihat hasil analisis: Pilih rentang waktu untuk melihat hasil kueri lambat yang sesuai.

Anda juga dapat mengurutkan hasil analisis berdasarkan metrik yang berbeda.

Klik kategori kueri lambat untuk melihat detail permintaan pencarian, termasuk RequestId, Query, total consumption (LCU), retrieval consumption (LCU), statistics consumption (LCU), sort consumption (LCU), summary consumption (LCU), other consumption (LCU), dan optimization suggestion.

Selain menggunakan slow query analysis untuk mengidentifikasi kueri dengan konsumsi tinggi, Anda dapat mengurangi konsumsi LCU dengan cara-cara berikut:

  • Kurangi jumlah dokumen yang diambil: Dalam klausa config, atur hit tidak lebih dari 50 untuk mengurangi jumlah dokumen yang diambil per kueri. Contoh: config=start:0,hit:50,format:fulljson.

  • Tambahkan kondisi filter: Tambahkan parameter filter ke dalam klausa config untuk mengurangi jumlah dokumen yang cocok. Contoh: config=start:0,hit:10,format:fulljson,filter=id>=0.

  • Gunakan analisis numerik dan kueri rentang: Untuk bidang yang sering digunakan dalam pencarian fuzzy atau kueri rentang filter, atur metode analisis ke analisis numerik dalam skema indeks dan gunakan kueri rentang untuk mengurangi konsumsi LCU. Di halaman detail instans, pilih Offline Changes > Index Schema, lalu ubah metode analisis bidang target dari Keyword menjadi Numeric Analysis. Saat melakukan kueri data, gunakan kueri rentang, misalnya filter=id>100000.