Optimasi Pencarian
Topik ini menjelaskan masalah umum yang mungkin Anda temui selama proses pencarian dan cara menyelesaikan masalah tersebut. Jika hasil pencarian tidak memuaskan atau Anda tidak tahu cara menggunakan fitur pencarian, hubungi Alibaba Cloud untuk mendapatkan dukungan teknis.
Hasil pencarian bergantung pada jumlah dokumen yang cocok dengan kata kunci dalam kueri. Semakin banyak dokumen yang cocok, semakin banyak perhitungan yang diperlukan sistem, sehingga waktu pemrosesan menjadi lebih lama. Oleh karena itu, salah satu metode optimasi utama adalah mengurangi jumlah dokumen yang diambil untuk setiap kueri.
Tentukan indeks yang dibuat dalam aplikasi untuk sebuah kueri. Jika tidak, indeks default akan digunakan. Jika indeks default tidak tersedia, terjadi kesalahan dan tidak ada hasil yang dikembalikan.
query='mp3' setara dengan query=default:'mp3'.Kata kunci dalam string kueri harus diapit oleh tanda kutip tunggal (' '). Jika tidak, kesalahan dapat terjadi dan tidak ada hasil yang dikembalikan.
Salah: query=default:mp3 Benar: query=default:'mp3'Jika kata kunci berisi apostrof melengkung ('), karakter tersebut harus diloloskan atau dihapus. Karakter terakhir dari kata kunci tidak boleh garis miring terbalik (\). Jika tidak, karakter ini digunakan sebagai karakter pelolosan, yang menyebabkan kesalahan. Jika Anda perlu menyertakan garis miring terbalik (\) dalam string kueri, loloskan garis miring tersebut.
query=default:'Universitas Beijing' // Dokumen yang berisi baik Beijing maupun Universitas diambil. query=default:'abc's efg' // String kueri gagal diproses dan tidak ada hasil yang dikembalikan. Dalam hal ini, tulis ulang string kueri menjadi query=default:'abc\'s efg'. query=default:'abc\' // Terjadi kesalahan dan tidak ada hasil yang dikembalikan. Karakter \ meloloskan karakter '. Dalam hal ini, string kueri gagal diproses.Untuk melakukan kueri penyaringan bidang, disarankan untuk membuat indeks untuk bidang yang akan disaring dan meminta bidang tersebut menggunakan klausa kueri. Ini dapat meningkatkan kinerja kueri.
query=user_id:'123'&&filter=type_id=1 // Tulis ulang string kueri menjadi query=user_id:'123' AND type_id:'1'.Dalam beberapa skenario, Anda mungkin perlu meminta data bulan lalu. Jika jumlah data besar, kinerja kueri dapat terpengaruh. Dalam hal ini, gunakan pencarian rentang.
query=user_id:'123'&&filter=time>"2016-09-16" // 50 juta catatan data memenuhi kondisi user_id=123. Namun, hanya 1.000 catatan data yang diambil berdasarkan waktu yang ditentukan. Jika jumlah data yang diambil untuk sebuah kueri besar, timeout mungkin terjadi. Dalam hal ini, Anda dapat menulis ulang string kueri menjadi berikut ini: query=user_id:'123' AND index_timestamp:(1473955200000,) // Gunakan pencarian rentang, yang lebih efisien.Setelah dokumen tertentu ditemukan, mesin mengambil data sebenarnya yang dikembalikan. Jika jumlah data hasilnya besar, waktu yang dibutuhkan akan lebih lama. Untuk meningkatkan efek pencarian, gunakan metode optimasi berikut: Metode 1: Kurangi jumlah dokumen yang cocok. Secara umum, 20 hasil ditampilkan di satu halaman. Metode 2: Ubah bidang tampilan default atau parameter fetch_fields untuk mengembalikan hanya bidang yang diperlukan dalam hasil pencarian.