全部产品
Search
文档中心

Tablestore:Kueri Awalan

更新时间:Jul 06, 2025

Anda dapat menjalankan kueri awalan untuk menemukan data yang sesuai dengan awalan tertentu. Jika bidang yang digunakan untuk pencocokan kondisi awalan adalah tipe TEXT, nilai-nilai tersebut akan dipecah menjadi token. Sebuah baris memenuhi kondisi kueri jika setidaknya satu token mengandung awalan yang ditentukan.

Prasyarat

Parameter

Parameter

Deskripsi

NamaTabel

Nama dari tabel data.

NamaIndeks

Nama dari indeks pencarian.

Kueri

Jenis kueri. Atur jenis kueri ke PrefixQuery.

NamaBidang

Nama dari bidang yang ingin Anda cocokkan.

Awalan

Awalan.

Jika bidang yang digunakan untuk mencocokkan kondisi awalan adalah bidang TEXT, nilai-nilai bidang tersebut akan dipecah menjadi token. Sebuah baris memenuhi kondisi kueri ketika setidaknya satu token mengandung awalan yang ditentukan.

DapatkanJumlahTotal

Menentukan apakah akan mengembalikan jumlah total baris yang memenuhi kondisi kueri. Nilai default: false.

Jika parameter ini diatur ke true, kinerja kueri akan terpengaruh.

ColumnsToGet

Menentukan apakah akan mengembalikan jumlah total kolom yang memenuhi kondisi kueri. Anda dapat menentukan parameter ReturnAll dan Columns.

Secara default, parameter ReturnAll diatur ke false, yang menunjukkan bahwa tidak semua kolom dikembalikan. Jika parameter ReturnAll diatur ke false, Anda dapat menggunakan parameter Columns untuk menentukan kolom yang ingin Anda kembalikan. Jika Anda tidak menentukan parameter Columns, hanya kolom kunci utama yang dikembalikan.

Jika Anda mengatur ReturnAll ke true, semua kolom akan dikembalikan.

Contoh kode

Berikut ini adalah contoh kode untuk menanyakan baris-baris yang nilainya Col_Keyword diawali dengan 'hangzhou':

/**
 * Query the rows in which the value of the Col_Keyword column contains the "hangzhou" prefix in a table. 
 */
func PrefixQuery(client *tablestore.TableStoreClient, tableName string, indexName string) {
    searchRequest := &tablestore.SearchRequest{}
    searchRequest.SetTableName(tableName)
    searchRequest.SetIndexName(indexName)
    query := &search.PrefixQuery{} // Set the query type to PrefixQuery. 
    query.FieldName = "Col_Keyword" // Specify the name of the field that you want to match. 
    query.Prefix = "hangzhou" // Specify the prefix that is used to match the value of the column. 
    searchQuery := search.NewSearchQuery()
    searchQuery.SetQuery(query)
    searchQuery.SetGetTotalCount(true)
    searchRequest.SetSearchQuery(searchQuery)
    // Return all columns in the rows that meet the query conditions. 
    searchRequest.SetColumnsToGet(&tablestore.ColumnsToGet{
        ReturnAll:true,
    })
    searchResponse, err := client.Search(searchRequest)
    if err != nil {
        fmt.Printf("%#v", err)
        return
    }
    fmt.Println("IsAllSuccess: ", searchResponse.IsAllSuccess) // Check whether all rows that meet the query conditions are returned. 
    fmt.Println("TotalCount: ", searchResponse.TotalCount) // Display the total number of rows that meet the query conditions instead of the number of returned rows. 
    fmt.Println("RowCount: ", len(searchResponse.Rows))
    for _, row := range searchResponse.Rows {
        jsonBody, err := json.Marshal(row)
        if err != nil {
            panic(err)
        }
        fmt.Println("Row: ", string(jsonBody))
    }
}

Pertanyaan Umum

Referensi

  • Saat menggunakan indeks pencarian untuk menanyakan data, Anda dapat menggunakan metode kueri berikut: kueri tepat, kueri terms, kueri cocok semua, kueri cocok, kueri frasa cocok, kueri awalan, kueri rentang, kueri wildcard, kueri geo, kueri Boolean, kueri vektor KNN, kueri bersarang, dan kueri eksis. Metode kueri ini dapat digunakan untuk menanyakan 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.

    Fitur collapse (distinct) dapat digunakan untuk merangkum set hasil berdasarkan kolom tertentu, sehingga data dari tipe yang ditentukan muncul hanya sekali dalam hasil kueri. Untuk informasi lebih lanjut, lihat Collapse (distinct).

  • Untuk menganalisis data dalam tabel data, Anda dapat menggunakan fitur agregasi dari operasi Search atau menjalankan pernyataan SQL. Misalnya, Anda dapat memperoleh nilai minimum, maksimum, jumlah, dan 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 Lakukan pemindaian paralel.