全部产品
Search
文档中心

Tablestore:Kueri Wildcard

更新时间:Jul 06, 2025

Saat melakukan kueri wildcard, Anda dapat menggunakan karakter asterisk (*) dan tanda tanya (?) dalam pencarian. Asterisk (*) mencocokkan string dengan panjang berapa pun di awal, tengah, atau akhir istilah pencarian. Tanda tanya (?) mencocokkan satu karakter pada posisi tertentu. String dapat dimulai dengan asterisk (*) atau tanda tanya (?). Sebagai contoh, jika Anda mencari "table*e", hasil seperti "tablestore" akan cocok.

Catatan

Prasyarat

Parameter

Parameter

Deskripsi

NamaTabel

Nama tabel data.

NamaIndeks

Nama indeks pencarian.

kueri

Jenis kueri. Atur jenis kueri ke WildcardQuery.

NamaKolom

Nama kolom yang ingin Anda kueri.

Nilai

String yang mengandung karakter wildcard. Panjang string tidak boleh melebihi 32 karakter.

KolomUntukDiambil

Menentukan apakah akan mengembalikan semua kolom dari setiap baris yang cocok.

Secara default, nilai ReturnAll adalah false, yang menentukan bahwa tidak semua kolom dikembalikan. Jika ReturnAll disetel ke false, Anda dapat menggunakan KolomUntukDiambil untuk menentukan kolom yang ingin Anda kembalikan. Jika Anda tidak menentukan kolom yang ingin Anda kembalikan, hanya kolom kunci utama yang dikembalikan.

Jika Anda menyetel ReturnAll ke true, semua kolom dikembalikan.

Contoh kode

Berikut adalah contoh kode untuk mencari baris di mana nilai kolom Col_Keyword cocok dengan "hang*u":

/**
 * Cari tabel untuk baris di mana nilai kolom Col_Keyword cocok dengan "hang*u". 
 */
func WildcardQuery(client *tablestore.TableStoreClient, tableName string, indexName string) {
    searchRequest := &tablestore.SearchRequest{}
    searchRequest.SetTableName(tableName)
    searchRequest.SetIndexName(indexName)
    query := &search.WildcardQuery{} // Setel jenis kueri ke WildcardQuery. 
    query.FieldName = "Col_Keyword"
    query.Value = "hang*u"
    searchQuery := search.NewSearchQuery()
    searchQuery.SetQuery(query)
    searchRequest.SetSearchQuery(searchQuery)
    // Kembalikan semua kolom di baris yang memenuhi kondisi kueri. 
    searchRequest.SetColumnsToGet(&tablestore.ColumnsToGet{
        ReturnAll:true,
    })
    searchResponse, err := client.Search(searchRequest)
    if err != nil {
        fmt.Printf("%#v", err)
        return
    }
    fmt.Println("IsAllSuccess: ", searchResponse.IsAllSuccess) // Periksa apakah semua baris yang memenuhi kondisi kueri dikembalikan. 
    fmt.Println("TotalCount: ", searchResponse.TotalCount) // Tentukan bahwa jumlah total baris yang cocok bukan jumlah baris yang dikembalikan yang ditampilkan. 
    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))
    }
}

FAQ

Referensi

  • Saat menggunakan indeks pencarian untuk mengkueri data, Anda dapat menggunakan metode kueri berikut: kueri tepat, kueri terms, kueri match all, kueri match, kueri match phrase, kueri prefix, kueri rentang, kueri wildcard, kueri geo, kueri Boolean, kueri vektor KNN, kueri nested, dan kueri exists. Metode ini dapat digunakan 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.

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

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