Kueri awalan (PrefixQuery) menemukan baris dalam indeks pencarian yang nilai bidangnya diawali dengan string tertentu.
Ikhtisar
PrefixQuery mencocokkan nilai kolom yang diawali dengan awalan tertentu. Perilaku kueri bergantung pada tipe data kolom tersebut:
-
Keyword: Tipe data string dasar. Seiring peningkatan volume data, performa kueri menurun. Tipe ini hanya cocok untuk set data kecil.
-
FuzzyKeyword: Tipe data yang dioptimalkan untuk pencarian fuzzy seperti kueri awalan. Performa kueri tetap stabil terlepas dari volume data. Tipe ini direkomendasikan untuk sebagian besar skenario kueri awalan.
-
Text: Nilai kolom ditokenisasi sebelum diindeks. Suatu baris cocok jika setidaknya satu token hasil tokenisasi diawali dengan awalan yang ditentukan. Karena ketidakpastian tokenisasi, hasil kueri bisa tidak dapat diprediksi. Tipe data ini hanya didukung untuk kompatibilitas dan harus digunakan dengan hati-hati.
Cara memilih tipe data
Tabel berikut merangkum kesesuaian masing-masing tipe data untuk kueri awalan.
|
Tipe |
Performa |
Rekomendasi |
|
Keyword |
Menurun seiring peningkatan volume data |
Hanya untuk set data kecil |
|
FuzzyKeyword |
Stabil terlepas dari volume data |
Direkomendasikan untuk sebagian besar skenario |
|
Text |
Hasil tidak dapat diprediksi karena tokenisasi |
Tidak direkomendasikan |
Contoh pencocokan awalan
Asumsikan suatu kolom berisi nilai-nilai berikut: hangzhou, beijing, shanghai, dan harbin.
-
Awalan
hangcocok denganhangzhoutetapi tidak cocok denganbeijing,shanghai, atauharbin. -
Awalan
hacocok denganhangzhoudanharbin.
API
Anda dapat melakukan kueri awalan menggunakan API Search atau ParallelScan. Jenis kuerinya adalah PrefixQuery.
Parameter
|
Parameter |
Deskripsi |
|
query |
Jenis kueri. Atur nilai ini ke PrefixQuery. |
|
fieldName |
Nama kolom target. |
|
prefix |
String awalan yang akan dicocokkan terhadap nilai kolom. Untuk kolom Text, nilai kolom ditokenisasi sebelum pencocokan. Suatu baris cocok jika setidaknya satu token diawali dengan awalan yang ditentukan. |
|
getTotalCount |
Menentukan apakah jumlah total baris yang cocok dikembalikan. Nilai default-nya adalah Mengatur parameter ini ke |
|
weight |
Bobot kueri harus berupa bilangan titik mengambang positif. Dalam skenario pencarian teks lengkap, parameter ini menyesuaikan kontribusi kolom terhadap skor relevansi BM25. Nilai yang lebih tinggi meningkatkan pengaruh kolom terhadap peringkat. Parameter ini tidak memengaruhi set hasil yang dikembalikan, hanya skor BM25 setiap baris dalam hasil. |
|
tableName |
Nama tabel data. |
|
indexName |
Nama indeks pencarian. |
|
columnsToGet |
Menentukan kolom yang dikembalikan untuk setiap baris yang cocok. Konfigurasikan ini menggunakan parameter Secara default, Atur |
Penggunaan
Anda dapat melakukan kueri awalan menggunakan Konsol Tablestore, tool command-line, atau SDK. Sebelum memulai, penuhi prasyarat berikut.
PrefixQuery pada kolom FuzzyKeyword saat ini hanya didukung melalui SDK Tablestore. Konsol dan tool command-line hanya mendukung kolom Keyword.
Gunakan Akun Alibaba Cloud atau Pengguna RAM dengan izin yang diperlukan untuk operasi Tablestore. Untuk memberikan izin kepada Pengguna RAM, lihat Berikan izin kepada Pengguna RAM menggunakan kebijakan RAM.
Jika Anda menggunakan SDK atau tool command-line, buat AccessKey untuk Akun Alibaba Cloud atau Pengguna RAM Anda jika belum memilikinya.
Anda telah membuat tabel data.
Search Index telah dibuat untuk tabel data tersebut.
Jika Anda menggunakan SDK, inisialisasi Tablestore Client.
Jika Anda menggunakan tool command-line, unduh dan jalankan tool tersebut, lalu konfigurasikan koneksi ke instans Anda dan pilih tabel target. Untuk informasi selengkapnya, lihat Unduh tool command-line, Jalankan tool dan konfigurasikan informasi koneksi, dan Operasi tabel data.
Penagihan
Mengkueri data menggunakan Search Index mengonsumsi throughput baca. Untuk informasi selengkapnya, lihat Metering dan penagihan Search Index.
FAQ
Dokumen terkait
Search Index mendukung berbagai jenis kueri untuk kueri data multi-dimensi, termasuk kueri tepat, kueri istilah, Pencocokan semua kueri, kueri cocok, kueri pencocokan frasa, kueri rentang, kueri awalan, kueri akhiran, kueri wildcard, kueri wildcard berbasis token, kueri multi-bidang, kueri geografis, kueri bersarang, Pencarian vektor, dan kueri ada.
Saat mengkueri data, Anda dapat mengurutkan dan melakukan paginasi set hasil atau melakukan collapsing (deduplikasi).
Untuk analisis data, seperti mencari nilai maksimum atau minimum, menghitung jumlah, atau menghitung baris, Anda dapat menggunakan fitur agregasi statistik atau kueri SQL.
Untuk mengekspor data secara cepat tanpa memperhatikan urutan set hasil, Anda dapat menggunakan fitur Parallel Scan.