Kueri cocok melakukan pencocokan perkiraan pada data dalam tabel. Tablestore menggunakan tokenizer yang dikonfigurasi untuk memisahkan nilai dalam kolom Teks dan kueri pencarian menjadi token, lalu mencari token-token tersebut. Untuk menjalankan kueri fuzzy berkinerja tinggi pada kolom Teks yang menggunakan tokenisasi fuzzy, gunakan kueri pencocokan frasa.
Skenario
Kueri cocok menemukan data yang berisi frasa tertentu. Saat digunakan bersama tokenisasi, kueri ini memungkinkan pengindeksan teks penuh, sehingga berguna dalam skenario seperti analitik data, pencarian konten, manajemen pengetahuan, analisis media sosial, analisis log, sistem chat AI, dan tinjauan kepatuhan. Misalnya, Anda dapat dengan cepat menyaring produk di platform E-dagang yang judul, deskripsi, atau labelnya mengandung kata kunci yang dimasukkan pengguna. Anda juga dapat dengan cepat menemukan pesan error atau operasi tidak normal dalam log.
Ikhtisar fungsi
Kueri cocok melakukan pencocokan perkiraan pada data dalam tabel. Sebagai contoh, pertimbangkan baris dengan kolom `title` bertipe Teks yang nilainya "Hángzhōu Xīhú Fēngjǐngqū". Jika kolom ini menggunakan tokenisasi kata tunggal dan kueri pencarian adalah "hú fēng", baris tersebut akan dicocokkan.
Saat menggunakan kueri cocok, Anda harus menentukan kolom yang akan dicocokkan dan kueri pencarian. Suatu baris memenuhi kondisi kueri jika salah satu token dari kueri pencarian terdapat dalam kolom yang ditentukan.
Anda juga dapat mengonfigurasi parameter seperti jumlah minimum kecocokan, bobot kueri, kolom yang akan dikembalikan, apakah jumlah total baris yang cocok dikembalikan, serta metode pengurutan untuk set hasil.
Operasi API
Operasi API untuk kueri cocok adalah Search atau ParallelScan. Jenis kueri spesifiknya adalah MatchQuery.
Parameter
|
Parameter |
Deskripsi |
|
fieldName |
Kolom yang akan dicocokkan. Kueri cocok dapat diterapkan pada kolom bertipe Teks. |
|
text |
Kueri pencarian, yaitu nilai yang akan dicocokkan. Untuk kolom Teks, kueri pencarian dibagi menjadi beberapa token berdasarkan jenis tokenizer yang ditetapkan saat Anda membuat indeks pencarian. Jika tidak ada tokenizer yang ditetapkan, tokenisasi kata tunggal digunakan secara default. Sebagai contoh, untuk kolom Teks yang menggunakan tokenisasi kata tunggal, kueri pencarian "this is" dapat mencocokkan "..., this is tablestore", "is this tablestore", "tablestore is cool", "this", dan "is". |
|
query |
Tetapkan jenis kueri menjadi matchQuery. |
|
offset |
Posisi awal untuk kueri. |
|
limit |
Jumlah maksimum hasil yang dikembalikan untuk kueri. Untuk hanya mendapatkan jumlah baris tanpa data apa pun, tetapkan limit ke 0. Hal ini tidak mengembalikan baris apa pun. |
|
minimumShouldMatch |
Jumlah minimum kecocokan. Suatu baris dikembalikan hanya jika nilai dalam kolom `fieldName` mengandung setidaknya jumlah minimum token yang cocok. Catatan
`minimumShouldMatch` harus digunakan bersama operator logika OR. |
|
operator |
Operator logika. Default-nya adalah OR, yang berarti suatu baris memenuhi kondisi kueri jika beberapa token cocok. Jika Anda menetapkan `operator` ke AND, suatu baris memenuhi kondisi kueri hanya jika semua token ada dalam nilai kolom. |
|
getTotalCount |
Menentukan apakah jumlah total baris yang cocok dikembalikan. Nilai default-nya adalah false, yang berarti jumlah total tidak dikembalikan. Mengembalikan jumlah total baris yang cocok dapat memengaruhi kinerja kueri. |
|
weight |
Bobot kueri. Ini digunakan untuk pengurutan berbasis skor dalam skenario indeks teks penuh. Parameter ini menentukan bobot untuk perhitungan skor pada suatu kolom. Nilai yang lebih besar menghasilkan skor yang lebih tinggi. Nilainya harus berupa bilangan titik mengambang positif. Parameter ini tidak memengaruhi jumlah hasil yang dikembalikan, hanya skornya. |
|
tableName |
Nama tabel data. |
|
indexName |
Nama indeks pencarian. |
|
columnsToGet |
Menentukan apakah semua kolom dikembalikan. Ini mencakup pengaturan `returnAll` dan `columns`. `returnAll` secara default bernilai false, yang berarti tidak semua kolom dikembalikan. Dalam hal ini, Anda dapat menggunakan `columns` untuk menentukan kolom mana yang akan dikembalikan. Jika Anda tidak menentukan kolom, hanya kolom kunci primer yang dikembalikan. Jika Anda menetapkan `returnAll` ke true, semua kolom dikembalikan. |
Catatan
Search Index hanya menyediakan skoring relevansi BM25 dasar dan tidak mendukung model relevansi kustom.
Penggunaan
Anda dapat menjalankan kueri cocok menggunakan Konsol, antarmuka baris perintah, atau kit pengembangan perangkat lunak (SDK). Sebelum memulai, selesaikan persiapan berikut.
Gunakan Akun Alibaba Cloud atau Pengguna RAM dengan izin yang diperlukan untuk operasi Table Store. Untuk memberikan izin kepada Pengguna RAM, lihat Berikan izin kepada Pengguna RAM menggunakan kebijakan RAM.
Jika Anda menggunakan SDK atau tool baris perintah, 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 baris perintah, unduh dan jalankan tool tersebut, lalu konfigurasikan koneksi ke instans Anda dan pilih tabel target. Untuk informasi selengkapnya, lihat Unduh tool baris perintah, 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
Referensi
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 menemukan nilai maksimum atau minimum, menghitung jumlah, atau menghitung baris, Anda dapat menggunakan fitur agregasi statistik atau kueri SQL.
Untuk mengekspor data dengan cepat tanpa memperhatikan urutan set hasil, Anda dapat menggunakan fitur Parallel Scan.