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 tujuan kompatibilitas dan harus digunakan dengan hati-hati.
Cara memilih tipe data
Tabel berikut merangkum kesesuaian masing-masing tipe data untuk kueri awalan.
|
Type |
Performance |
Recommendation |
|
Keyword |
Degrades as data volume increases |
For small datasets only |
|
FuzzyKeyword |
Stable regardless of data volume |
Recommended for most scenarios |
|
Text |
Unpredictable results due to tokenization |
Not recommended |
Contoh pencocokan awalan
Asumsikan sebuah 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 |
Description |
|
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 dimulai 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 Table Store. Untuk memberikan izin kepada Pengguna RAM, lihat Grant permissions to a RAM user by using a RAM policy.
Jika Anda menggunakan SDK atau tool command-line, create an 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, initialize the 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 Download the command-line tool, Start the tool and configure connection information, dan Data table operations.
Penagihan
Mengkueri data menggunakan Search Index mengonsumsi throughput baca. Untuk informasi selengkapnya, lihat Search Index metering and billing.
FAQ
Dokumen terkait
Search Index mendukung berbagai jenis kueri untuk kueri data multidimensi, termasuk kueri tepat, kueri istilah, Pencocokan semua kueri, kueri cocok, kueri frasa cocok, kueri rentang, kueri awalan, kueri akhiran, kueri wildcard, kueri wildcard berbasis token, kueri multi-bidang, kueri geografis, kueri bersarang, Pencarian vektor, dan kueri eksis.
Saat mengkueri data, Anda dapat sort and paginate set hasil atau melakukan collapsing (deduplication).
Untuk analisis data, seperti menemukan nilai maksimum atau minimum, menghitung jumlah, atau menghitung baris, Anda dapat menggunakan fitur statistical aggregation atau SQL query.
Untuk mengekspor data secara cepat tanpa memperhatikan urutan set hasil, Anda dapat menggunakan fitur Parallel Scan.