全部产品
Search
文档中心

Tablestore:Lakukan kueri frasa cocok

更新时间:Jul 02, 2025

Kueri frasa cocok mirip dengan kueri cocok, tetapi kueri frasa cocok mengevaluasi posisi token. Baris memenuhi kondisi kueri hanya jika urutan dan posisi token dalam baris sesuai dengan urutan dan posisi token dalam kata kunci. Jika metode tokenisasi kolom yang ingin Anda kueri adalah tokenisasi fuzzy, kueri frasa cocok memiliki latensi lebih rendah dibandingkan dengan kueri wildcard.

Prasyarat

Parameter

Parameter

Deskripsi

FieldName

Nama kolom yang ingin Anda kueri.

Kolom dapat bertipe TEXT.

Text

Kata kunci yang digunakan untuk mencocokkan nilai kolom saat Anda melakukan kueri frasa cocok.

Jika kolom yang ingin Anda kueri bertipe TEXT, kata kunci dipecah menjadi beberapa token berdasarkan tipe analisis yang Anda tentukan saat membuat indeks pencarian. Secara default, tokenisasi satu kata dilakukan jika Anda tidak menentukan tipe analisis saat membuat indeks pencarian.

Sebagai contoh, jika Anda melakukan kueri frasa cocok menggunakan frase "ini adalah", hasil kueri seperti "..., ini adalah tablestore" dan "ini adalah sebuah tabel" akan dikembalikan. "tabel ini adalah ..." dan "apakah ini sebuah tabel" tidak dikembalikan.

Query

Tipe kueri. Atur parameter ini ke MatchPhraseQuery.

TableName

Nama tabel data.

IndexName

Nama indeks pencarian.

GetTotalCount

Menentukan apakah akan mengembalikan jumlah total baris yang memenuhi kondisi kueri. Nilai default: false, yang menunjukkan bahwa jumlah total baris yang memenuhi kondisi kueri tidak dikembalikan.

Jika Anda mengatur parameter ini ke true, performa kueri akan terpengaruh.

ColumnsToGet

Menentukan apakah akan mengembalikan semua kolom dalam baris yang memenuhi kondisi kueri. Anda dapat menentukan parameter ReturnAll, Columns, dan ReturnAllFromIndex.

Nilai default ReturnAll adalah false, yang menentukan bahwa tidak semua kolom dikembalikan. Anda dapat menggunakan salah satu dari metode berikut untuk menentukan kolom yang ingin Anda kembalikan. Jika Anda tidak menggunakan metode berikut untuk menentukan kolom yang ingin Anda kembalikan, hanya kolom kunci utama yang dikembalikan.

  • Konfigurasikan Columns untuk menentukan kolom yang ingin Anda kembalikan.

  • Atur ReturnAllFromIndex ke true untuk mengembalikan semua kolom dari indeks pencarian.

Jika Anda mengatur ReturnAll ke true, semua kolom dikembalikan.

Contoh

Berikut ini adalah kode sampel yang menunjukkan cara mengkueri baris di mana nilai kolom Text_type_col cocok dengan "Tablestore SearchIndex" dalam tabel data.

/// <summary>
/// Query the rows in which the value of the Text_type_col column matches "Tablestore SearchIndex" in a data table and return the total number of rows that meet the query conditions. 
/// </summary>
/// <param name="otsClient"></param>
public static void MatchPhraseQuery(OTSClient otsClient)
{
    var searchQuery = new SearchQuery();
    // Set the query type to MatchPhraseQuery. 
    searchQuery.Query = new MatchPhraseQuery("Text_type_col", "Tablestore SearchIndex");
    // Return the total number of rows that meet the query conditions. 
    searchQuery.GetTotalCount = true;
    var request = new SearchRequest(TableName, IndexName, searchQuery);
    // You can configure the ColumnsToGet parameter to specify the columns that you want to return, specify that all columns are returned, or specify that all columns in the search index are returned. If you do not configure this parameter, only the primary key columns are returned. 
    request.ColumnsToGet = new ColumnsToGet()
    {
        // Return all columns in the search index. 
        ReturnAllFromIndex = true
        // Return the columns that you specify. 
        //Columns = new List<string>() { Long_type_col, Text_type_col, Keyword_type_col }
        // Return all columns in the rows that meet the query conditions. 
        //ReturnAll = true         
    };

    var response = otsClient.Search(request);

    Console.WriteLine("Total Count:" + response.TotalCount); // Display the total number of rows that meet the query conditions instead of the number of returned rows. 
}

FAQ

Referensi

  • Saat menggunakan indeks pencarian untuk mengkueri data, Anda dapat menggunakan metode kueri berikut: term query, terms query, match all query, match query, match phrase query, prefix query, range query, wildcard query, Boolean query, geo query, nested query, dan exists query. Anda dapat menggunakan metode kueri yang berbeda untuk mengkueri data dari berbagai dimensi sesuai kebutuhan bisnis Anda.

    Anda dapat mengurutkan atau membagi halaman baris yang memenuhi kondisi kueri menggunakan fitur Pengurutan dan paging. Untuk informasi lebih lanjut, lihat Pengurutan dan Paging.

    Anda dapat menggunakan fitur collapse (distinct) untuk merangkum set hasil berdasarkan kolom tertentu. Dengan cara ini, data dari tipe yang ditentukan 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, serta total baris. Untuk informasi lebih lanjut, lihat Agregasi dan SQL Query.

  • 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.