Kueri frasa cocok mirip dengan kueri cocok, tetapi mengevaluasi posisi token. Baris hanya memenuhi kondisi kueri jika urutan dan posisi token dalam baris sesuai dengan urutan dan posisi token dalam kata kunci. Jika metode tokenisasi untuk bidang yang dikueri adalah tokenisasi fuzzy, kueri frasa cocok memiliki latensi lebih rendah dibandingkan kueri wildcard.
Skenario
Gunakan kueri frasa cocok untuk mencari data yang mengandung frasa spesifik dengan kata-kata dalam urutan tertentu. Kueri ini dapat digunakan bersamaan dengan tokenisasi untuk melakukan pencarian teks lengkap dalam skenario seperti analisis big data, pencarian konten, dan rekomendasi personalisasi. Contohnya, Anda dapat mengkueri kalimat yang mengandung frasa spesifik dalam pencarian konten atau menemukan pesan dengan urutan tertentu dalam catatan obrolan.
Fitur
Kueri frasa cocok menggunakan pencocokan mendekati untuk mengkueri data dan mengevaluasi posisi token. Sebagai contoh, nilai dalam kolom tipe TEXT adalah "Hangzhou West Lake Scenic Area" dalam satu baris, sementara kata kunci yang ditentukan adalah "Hangzhou Scenic Area". Tablestore mengembalikan baris ketika menggunakan kueri cocok, tetapi tidak mengembalikannya saat menggunakan kueri frasa cocok. Jarak antara "Hangzhou" dan "Scenic Area" dalam kata kunci adalah 0, sedangkan jarak dalam kolom baris tersebut adalah 2 karena dua kata "West" dan "Lake" berada di antaranya.
Saat menggunakan kueri frasa cocok, tentukan nama bidang yang ingin dikueri dan kata kunci. Baris hanya memenuhi kondisi kueri jika urutan dan posisi token dalam baris sesuai dengan urutan dan posisi token dalam kata kunci.
Saat menjalankan kueri frasa cocok, Anda dapat menentukan bobot untuk bidang yang ingin dikueri guna menghitung skor relevansi kata kunci berbasis BM25, kolom yang ingin dikembalikan, apakah akan mengembalikan jumlah total baris yang memenuhi kondisi kueri, serta metode pengurutan hasil.
Operasi API
Anda dapat memanggil operasi Search atau ParallelScan, serta atur jenis kueri ke MatchPhraseQuery untuk menjalankan kueri frasa cocok.
Parameter
Parameter | Deskripsi |
fieldName | Nama bidang yang ingin Anda cocokkan. Anda dapat melakukan kueri frasa cocok pada bidang TEXT. |
text | Kata kunci yang digunakan untuk mencocokkan nilai bidang saat Anda melakukan kueri frasa cocok. Jika bidang yang ingin Anda cocokkan adalah bidang TEXT, kata kunci dipecah menjadi beberapa token berdasarkan tipe analyzer yang Anda tentukan saat membuat indeks pencarian. Jika Anda tidak menentukan tipe analyzer saat membuat indeks pencarian, tokenisasi kata tunggal dilakukan. Untuk informasi lebih lanjut, lihat Tokenisasi. Sebagai contoh, jika Anda melakukan kueri frasa cocok menggunakan frasa "this is", "..., this is tablestore" dan "this is a table" dikembalikan. "this table is ..." atau "is this a table" tidak dikembalikan. |
query | Tipe kueri. Atur parameter query ke matchPhraseQuery. |
offset | Posisi dari mana kueri saat ini dimulai. |
limit | Jumlah maksimum baris yang ingin Anda kembalikan dalam kueri saat ini. Untuk hanya mengkueri jumlah baris yang memenuhi kondisi kueri tanpa data spesifik, atur parameter limit ke 0. |
getTotalCount | Menentukan apakah akan mengembalikan jumlah total baris yang memenuhi kondisi kueri. Nilai default parameter ini adalah false, yang menentukan bahwa jumlah total baris yang memenuhi kondisi kueri tidak dikembalikan. Jika Anda mengatur parameter ini ke true, kinerja kueri akan berkurang. |
weight | Bobot yang ingin Anda berikan pada bidang yang ingin Anda kueri untuk menghitung skor relevansi kata kunci berbasis BM25. Parameter ini digunakan dalam skenario pencarian teks lengkap. Jika Anda menentukan bobot lebih tinggi untuk bidang yang ingin Anda kueri, skor relevansi kata kunci berbasis BM25 untuk bidang tersebut lebih tinggi. Nilai parameter ini adalah bilangan floating point positif. Parameter ini tidak memengaruhi jumlah baris yang dikembalikan. Namun, parameter ini memengaruhi skor relevansi kata kunci berbasis BM25 dari hasil kueri. |
tableName | Nama tabel data. |
indexName | Nama indeks pencarian. |
columnsToGet | Menentukan apakah akan mengembalikan semua kolom setiap baris yang memenuhi kondisi kueri. Anda dapat menentukan bidang returnAll dan columns untuk parameter columnsToGet. Nilai default bidang returnAll adalah false, yang menentukan bahwa tidak semua kolom dikembalikan. Dalam hal ini, Anda dapat menggunakan bidang columns untuk menentukan kolom yang ingin Anda kembalikan. Jika Anda tidak menentukan kolom yang ingin Anda kembalikan, hanya kolom kunci utama yang dikembalikan. Jika Anda mengatur bidang returnAll ke true, semua kolom dikembalikan. |
Catatan penggunaan
Gunakan indeks pencarian untuk mengurutkan hasil kueri berdasarkan skor relevansi kata kunci berbasis BM25. Skor relevansi kustom tidak dapat ditentukan untuk mengurutkan hasil kueri.
Metode
Anda dapat menggunakan konsol Tablestore, CLI Tablestore, atau SDK Tablestore untuk menjalankan kueri frasa cocok.
Sebelum menjalankan kueri frasa cocok, pastikan langkah-langkah berikut telah dilakukan:
Anda memiliki akun Alibaba Cloud atau pengguna RAM dengan izin untuk menjalankan operasi pada Tablestore. Untuk informasi tentang cara memberikan izin operasi Tablestore kepada pengguna RAM, lihat Gunakan kebijakan RAM untuk memberikan izin kepada pengguna RAM.
Jika Anda ingin menggunakan SDK Tablestore atau CLI Tablestore untuk menjalankan kueri, pasangan AccessKey harus dibuat untuk akun Alibaba Cloud atau pengguna RAM Anda. Untuk informasi lebih lanjut, lihat Buat pasangan AccessKey.
Tabel data telah dibuat. Untuk informasi lebih lanjut, lihat Operasi pada tabel.
Indeks pencarian telah dibuat untuk tabel data. Untuk informasi lebih lanjut, lihat Buat indeks pencarian.
Jika Anda ingin menggunakan SDK Tablestore untuk menjalankan kueri, instance OTSClient harus diinisialisasi. Untuk informasi lebih lanjut, lihat Inisialisasi klien Tablestore.
Jika Anda ingin menggunakan CLI Tablestore untuk menjalankan kueri, unduh dan mulai CLI Tablestore, serta konfigurasikan informasi akses untuk instance dan tabel data. Untuk informasi lebih lanjut, lihat Unduh CLI Tablestore, Mulai CLI Tablestore dan konfigurasikan informasi akses, dan Operasi pada tabel data.
Aturan penagihan
Saat menggunakan indeks pencarian untuk mengkueri data, Anda dikenakan biaya untuk throughput baca yang dikonsumsi. Untuk informasi lebih lanjut, lihat Item yang dapat ditagih dari indeks pencarian.
FAQ
Referensi
Saat menggunakan indeks pencarian untuk mengkueri data, Anda dapat menggunakan metode kueri berikut: kueri tepat, kueri terms, kueri cocok semua, kueri cocok, kueri frasa cocok, kueriprefix, kueri rentang, kueri wildcard, kueri fuzzy, kueri Boolean, kueri geo, kueri nested, kueri vektor KNN, dan kueri exists. Anda dapat memilih metode kueri berdasarkan kebutuhan bisnis untuk mengkueri data dari berbagai dimensi.
Anda dapat mengurutkan atau membagi halaman baris yang memenuhi kondisi kueri menggunakan fitur pengurutan dan pemisahan halaman. Untuk informasi lebih lanjut, lihat Melakukan pengurutan dan pemisahan halaman.
Anda dapat menggunakan fitur collapse (distinct) untuk menggabungkan set hasil berdasarkan kolom tertentu. Dengan cara ini, data tipe tertentu muncul hanya sekali dalam hasil kueri. Untuk informasi lebih lanjut, lihat Collapse (distinct).
Jika Anda ingin menganalisis data dalam tabel data, Anda dapat menggunakan fitur agregasi operasi Search atau menjalankan pernyataan SQL. Sebagai contoh, Anda dapat memperoleh nilai minimum dan maksimum, jumlah total, serta jumlah total baris. Untuk informasi lebih lanjut, lihat Agregasi dan Kueri SQL.
Jika Anda ingin mendapatkan semua baris yang memenuhi kondisi kueri tanpa perlu mengurutkan baris, Anda dapat memanggil operasi ParallelScan dan ComputeSplits untuk menggunakan fitur pemindaian paralel. Untuk informasi lebih lanjut, lihat Pemindaian paralel.