全部产品
Search
文档中心

Tablestore:Kueri Rentang

更新时间:Jul 06, 2025

Anda dapat melakukan kueri rentang untuk menanyakan data dalam rentang tertentu. Jika tipe kolom adalah TEXT, nilai-nilai kolom tersebut akan dipecah menjadi token. Sebuah baris memenuhi kondisi kueri jika setidaknya salah satu token dalam baris cocok dengan rentang kueri.

Prasyarat

Parameter

Parameter

Deskripsi

NamaTabel

Nama dari tabel data.

NamaIndeks

Nama dari indeks pencarian.

Kueri

Tipe kueri. Atur tipe kueri ke RangeQuery.

NamaKolom

Nama kolom yang ingin Anda cocokkan.

Dari

Nilai dari mana kueri dimulai.

Anda dapat menggunakan GT atau GTE untuk menentukan rentang. GT menunjukkan bahwa nilai dalam rentang lebih besar dari nilai yang ditentukan. GTE menunjukkan bahwa nilai dalam rentang lebih besar dari atau sama dengan nilai yang ditentukan.

Sampai

Nilai hingga mana kueri berakhir.

Anda dapat menggunakan LT atau LTE untuk menentukan rentang. LT menunjukkan bahwa nilai dalam rentang lebih kecil dari nilai yang ditentukan. LTE menunjukkan bahwa nilai dalam rentang lebih kecil dari atau sama dengan nilai yang ditentukan.

TermasukBawah

Menentukan apakah akan menyertakan nilai parameter Dari dalam respons. Nilai parameter ini bertipe BOOLEAN.

TermasukAtas

Menentukan apakah akan menyertakan nilai parameter Sampai dalam respons. Nilai parameter ini bertipe BOOLEAN.

Urutan

Metode pengurutan. Untuk informasi lebih lanjut, lihat Melakukan pengurutan dan paging.

KolomUntukDiambil

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

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

Jika Anda menyetel ReturnAll ke true, semua kolom dikembalikan.

Contoh kode

Berikut ini adalah contoh kode yang menunjukkan cara menanyakan baris di mana nilai Col_Long lebih besar dari 3. Tablestore mengurutkan hasil kueri berdasarkan nilai kolom Col_Long secara menurun.

/**
 * Query the rows in which the value of the Col_Long column is greater than 3 in a table. Tablestore sorts the query results based on the value of the Col_Long column in descending order. 
 */
func RangeQuery(client *tablestore.TableStoreClient, tableName string, indexName string) {
    searchRequest := &tablestore.SearchRequest{}
    searchRequest.SetTableName(tableName)
    searchRequest.SetIndexName(indexName)
    searchQuery := search.NewSearchQuery()
    rangeQuery := &search.RangeQuery{} // Set the query type to RangeQuery. 
    rangeQuery.FieldName = "Col_Long" // Specify the name of the column that you want to query.
    rangeQuery.GT(3) // Specify the range of the column value, which is greater than 3. 
    searchQuery.SetQuery(rangeQuery)
    // Sort the query results based on the value of the Col_Long column in descending order. 
    searchQuery.SetSort(&search.Sort{
        []search.Sorter{
            &search.FieldSort{
                FieldName: "Col_Long",
                Order:     search.SortOrder_DESC.Enum(),
            },
        },
    })
    searchRequest.SetSearchQuery(searchQuery)
    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("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 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. Anda dapat menggunakan metode kueri yang disediakan oleh indeks pencarian untuk menanyakan data dari berbagai dimensi sesuai dengan kebutuhan bisnis Anda.

    Anda dapat mengurutkan atau membagi halaman baris yang memenuhi kondisi kueri dengan 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 tertentu 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. Misalnya, Anda dapat memperoleh nilai minimum dan 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 Melakukan pemindaian paralel.