全部产品
Search
文档中心

Tablestore:Kueri tepat

更新时间:Jul 06, 2025

Gunakan kueri tepat untuk mencocokkan nilai kolom yang persis sama dengan kata kunci tertentu. Kueri ini berfungsi seperti pencocokan string, di mana jika kolom TEXT diperiksa dan salah satu token dalam baris cocok persis dengan kata kunci, baris tersebut memenuhi kondisi kueri. Kata kunci tidak dipecah menjadi token.

Prasyarat

Parameter

Parameter

Deskripsi

NamaTabel

Nama tabel data.

NamaIndeks

Nama indeks pencarian.

Kueri

Jenis kueri. Atur jenis kueri ke TermQuery.

NamaKolom

Nama kolom yang ingin Anda cocokkan.

KataKunci

Kata kunci yang digunakan untuk mencocokkan nilai-nilai kolom saat Anda melakukan kueri tepat.

Kata kunci ini tidak dipecah menjadi token. Sebaliknya, seluruh kata kunci digunakan untuk mencocokkan nilai-nilai kolom.

Jika tipe kolom adalah TEXT, Tablestore akan memecah string dan menggunakan token-token tersebut untuk mencocokkan kata kunci. Baris memenuhi kondisi kueri ketika setidaknya salah satu token dalam baris cocok persis dengan kata kunci. Misalnya, jika nilai kolom bertipe TEXT dalam sebuah baris adalah "tablestore is cool", nilainya dapat dipecah menjadi "tablestore", "is", dan "cool". Baris tersebut memenuhi kondisi kueri jika Anda menentukan "tablestore", "is", atau "cool" sebagai kata kunci untuk mencocokkan nilai kolom.

KolomUntukDiambil

Menentukan apakah akan mengembalikan semua kolom dari setiap baris yang memenuhi kondisi kueri. Anda dapat menentukan parameter ReturnAll dan Columns.

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

Jika Anda menyetel parameter ReturnAll ke true, semua kolom akan dikembalikan.

DapatkanJumlahTotal

Menentukan apakah akan mengembalikan jumlah total baris yang memenuhi kondisi kueri. Nilai default dari parameter ini adalah false, yang menentukan bahwa jumlah total baris yang memenuhi kondisi kueri tidak dikembalikan.

Jika Anda menyetel parameter ini ke true, kinerja kueri akan terpengaruh.

Contoh

Berikut adalah contoh kode untuk menanyakan baris di mana nilai kolom Col_Keyword cocok persis dengan "hangzhou" dalam tabel data:

/**
 * Query the rows in which the value of the Col_Keyword field exactly matches "hangzhou" in a table. 
 */
func TermQuery(client *tablestore.TableStoreClient, tableName string, indexName string) {
    searchRequest := &tablestore.SearchRequest{}
    searchRequest.SetTableName(tableName)
    searchRequest.SetIndexName(indexName)
    query := &search.TermQuery{} // Set the query type to TermQuery. 
    query.FieldName = "Col_Keyword" // Specify the name of the field that you want to query. 
    query.Term = "hangzhou" // Specify the keyword that is used to match field values. 
    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))
    }
}

FAQ

Referensi

  • Saat menggunakan indeks pencarian untuk menanyakan 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. Gunakan metode kueri ini sesuai dengan kebutuhan bisnis Anda untuk menanyakan data dari berbagai dimensi.

    Anda dapat mengurutkan atau membagi halaman hasil kueri menggunakan fitur pengurutan dan paginasi. Untuk informasi lebih lanjut, lihat Pengurutan dan Paginasi.

    Gunakan fitur collapse (distinct) untuk menggabungkan set hasil berdasarkan kolom tertentu. Dengan cara ini, data dari tipe yang ditentukan hanya muncul sekali dalam hasil kueri. Untuk informasi lebih lanjut, lihat Collapse (Distinct).

  • Untuk menganalisis data dalam tabel, gunakan fitur agregasi operasi Search atau jalankan pernyataan SQL. Misalnya, Anda bisa mendapatkan 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, panggil operasi ParallelScan dan ComputeSplits untuk menggunakan fitur pemindaian paralel. Untuk informasi lebih lanjut, lihat Lakukan Pemindaian Paralel.