全部产品
Search
文档中心

Tablestore:Kueri Rentang

更新时间:Jul 06, 2025

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

Prasyarat

Parameter

Parameter

Deskripsi

table_name

Nama tabel data.

index_name

Nama indeks pencarian.

offset

Posisi dari mana kueri saat ini dimulai.

limit

Jumlah maksimum baris yang ingin Anda dapatkan dari kueri saat ini.

Untuk hanya menanyakan jumlah baris yang memenuhi kondisi kueri tanpa menanyakan data spesifik dari baris-baris tersebut, atur parameter ini ke 0.

get_total_count

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 mengatur parameter ini ke true, performa kueri akan terpengaruh.

query_type

Tipe kueri. Untuk menggunakan kueri rentang, atur parameter ini ke QueryTypeConst::RANGE_QUERY.

field_name

Nama kolom yang ingin Anda cocokkan.

range_from

Nilai dari mana kueri dimulai.

range_to

Nilai di mana kueri berakhir.

include_lower

Menentukan apakah akan menyertakan nilai parameter range_from dalam respons. Nilai parameter ini bertipe Boolean.

include_upper

Menentukan apakah akan menyertakan nilai parameter range_to dalam respons. Nilai parameter ini bertipe Boolean.

sort

Metode yang ingin Anda gunakan untuk mengurutkan baris dalam respons. Untuk informasi lebih lanjut, lihat Pengurutan dan paging.

columns_to_get

Menentukan apakah akan mengembalikan semua kolom dari setiap baris yang memenuhi kondisi kueri. Anda dapat mengonfigurasi bidang return_type dan column_names untuk parameter ini.

  • Jika Anda mengatur return_type ke ColumnReturnTypeConst::RETURN_SPECIFIED, Anda dapat menggunakan return_names untuk menentukan kolom-kolom yang ingin dikembalikan.

  • Jika Anda mengatur parameter return_type ke ColumnReturnTypeConst::RETURN_ALL, semua kolom akan dikembalikan.

  • Jika Anda mengatur return_type ke ColumnReturnTypeConst::RETURN_ALL_FROM_INDEX, semua kolom dalam indeks pencarian akan dikembalikan.

  • Jika Anda mengatur parameter return_type ke ColumnReturnTypeConst::RETURN_NONE, hanya kolom kunci utama yang akan dikembalikan.

Contoh

Berikut ini adalah contoh kode untuk menanyakan baris-baris di mana nilai kolom panjang lebih besar dari atau sama dengan 100 tetapi kurang dari 101. Dalam contoh ini, baris-baris dalam respons diurutkan berdasarkan urutan menaik berdasarkan nilai kolom kata kunci.

$request = array(
    'table_name' => 'php_sdk_test',
    'index_name' => 'php_sdk_test_search_index',
    'search_query' => array(
        'offset' => 0,
        'limit' => 2,
        'get_total_count' => true,
        'query' => array(
            'query_type' => QueryTypeConst::RANGE_QUERY,
            'query' => array(
                'field_name' => 'long',
                'range_from' => 100,
                'include_lower' => true,
                'range_to' => 101,
                'include_upper' => false
            )
        ),
        'sort' => array(
            array(
                'field_sort' => array(
                    'field_name' => 'keyword',
                    'order' => SortOrderConst::SORT_ORDER_ASC
                )
            ),
        )
    ),
    'columns_to_get' => array(
        'return_type' => ColumnReturnTypeConst::RETURN_SPECIFIED,
        'return_names' => array('double', 'long', 'keyword')
    )
);
$response = $otsClient->search($request);

FAQ

Referensi

  • Ketika Anda 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 Boolean, kueri geo, kueri nested, dan kueri exists. Anda dapat menggunakan metode kueri yang berbeda untuk menanyakan data dari beberapa dimensi sesuai kebutuhan bisnis Anda.

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

    Jika Anda ingin menggabungkan set hasil berdasarkan kolom tertentu, Anda dapat menggunakan fitur collapse (distinct). 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, seperti mendapatkan nilai ekstrem, jumlah, dan total jumlah baris, Anda dapat melakukan operasi agregasi atau menjalankan pernyataan SQL. Untuk informasi lebih lanjut, lihat Agregasi dan Kueri SQL.

  • Jika Anda ingin dengan cepat mendapatkan semua baris yang memenuhi kondisi kueri tanpa perlu mengurutkan baris-baris tersebut, Anda dapat memanggil operasi ParallelScan dan ComputeSplits untuk menggunakan fitur pemindaian paralel. Untuk informasi lebih lanjut, lihat Pemindaian paralel.