Kueri pencocokan frasa hanya mengembalikan baris ketika token dalam suatu kolom sesuai dengan kata kunci baik dalam urutan maupun posisi. Berbeda dengan kueri cocok, posisi token sangat penting. Jika kolom target menggunakan tokenisasi fuzzy, kueri pencocokan frasa dijalankan dengan latensi lebih rendah dibandingkan kueri wildcard.
Prasyarat
-
Instans OTSClient telah diinisialisasi. Untuk informasi selengkapnya, lihat Inisialisasi instans OTSClient.
-
Tabel data telah dibuat dan data telah ditulis ke tabel tersebut. Untuk informasi selengkapnya, lihat Membuat tabel data dan Menulis data.
-
Indeks pencarian telah dibuat untuk tabel data tersebut. Untuk informasi selengkapnya, lihat Buat indeks pencarian.
Parameter
|
Parameter |
Deskripsi |
|
FieldName |
Nama kolom yang akan dikueri. Kolom tersebut dapat bertipe TEXT. |
|
Text |
Kata kunci yang akan dicocokkan terhadap nilai kolom. Untuk kolom TEXT, kata kunci tersebut ditokenisasi berdasarkan jenis alat analisis yang ditentukan saat indeks pencarian dibuat. Jika tidak ada jenis alat analisis yang ditentukan, tokenisasi kata tunggal digunakan secara default. Sebagai contoh, kueri dengan frasa "this is" mengembalikan baris seperti "..., this is tablestore" dan "this is a table", tetapi tidak mengembalikan "this table is ..." atau "is this a table". |
|
Query |
Jenis kueri. Atur ke MatchPhraseQuery. |
|
TableName |
Nama tabel data. |
|
IndexName |
Nama indeks pencarian. |
|
GetTotalCount |
Apakah jumlah total baris yang cocok akan dikembalikan. Nilai default: false. Mengatur nilai ini menjadi true akan menurunkan performa kueri. |
|
ColumnsToGet |
Kolom yang akan dikembalikan dari baris yang cocok. Konfigurasikan menggunakan ReturnAll, Columns, atau ReturnAllFromIndex. Secara default,
Atur |
Contoh
Contoh berikut mengkueri baris di mana kolom Text_type_col cocok dengan frasa "Tablestore SearchIndex".
/// <summary>
/// Kueri baris di mana Text_type_col cocok dengan "Tablestore SearchIndex" dan kembalikan jumlah total kecocokan.
/// </summary>
/// <param name="otsClient"></param>
public static void MatchPhraseQuery(OTSClient otsClient)
{
var searchQuery = new SearchQuery();
// Atur jenis kueri ke MatchPhraseQuery.
searchQuery.Query = new MatchPhraseQuery("Text_type_col", "Tablestore SearchIndex");
// Kembalikan jumlah total baris yang cocok.
searchQuery.GetTotalCount = true;
var request = new SearchRequest(TableName, IndexName, searchQuery);
// Tentukan kolom yang akan dikembalikan. Jika tidak diatur, hanya kolom kunci primer yang dikembalikan.
request.ColumnsToGet = new ColumnsToGet()
{
// Kembalikan semua kolom dalam indeks pencarian.
ReturnAllFromIndex = true
// Kembalikan kolom tertentu.
//Columns = new List<string>() { Long_type_col, Text_type_col, Keyword_type_col }
// Kembalikan semua kolom dalam baris yang cocok.
//ReturnAll = true
};
var response = otsClient.Search(request);
// TotalCount adalah jumlah baris yang cocok, bukan jumlah baris yang dikembalikan.
Console.WriteLine("Total Count:" + response.TotalCount);
}
FAQ
Referensi
Saat menggunakan indeks pencarian untuk mengkueri data, Anda dapat menggunakan metode kueri berikut: kueri tepat, kueri istilah, Pencocokan semua kueri, kueri cocok, kueri pencocokan frasa, kueri awalan, kueri rentang, kueri wildcard, Boolean query, kueri geografis, kueri bersarang, dan kueri exists. Anda dapat menggunakan berbagai metode kueri ini untuk mengkueri data dari beberapa dimensi sesuai kebutuhan bisnis Anda.
Anda dapat mengurutkan atau membagi halaman baris yang memenuhi kondisi kueri dengan menggunakan fitur pengurutan dan penjedaan halaman. Untuk informasi selengkapnya, lihat Pengurutan dan penjedaan halaman.
Anda dapat menggunakan fitur collapse (distinct) untuk menciutkan set hasil berdasarkan kolom tertentu sehingga data tipe tertentu hanya muncul sekali dalam hasil kueri. Untuk informasi selengkapnya, lihat Collapse (distinct).
Jika ingin menganalisis data dalam tabel data, Anda dapat menggunakan fitur agregasi pada operasi Search atau mengeksekusi pernyataan SQL, seperti untuk memperoleh nilai minimum dan maksimum, jumlah total, serta jumlah baris. Untuk informasi selengkapnya, lihat Agregasi dan Kueri SQL.
Jika ingin memperoleh semua baris yang memenuhi kondisi kueri tanpa perlu mengurutkannya, Anda dapat memanggil operasi ParallelScan dan ComputeSplits untuk menggunakan fitur pemindaian paralel. Untuk informasi selengkapnya, lihat Pemindaian paralel.