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
Instance OTSClient telah diinisialisasi. Untuk informasi lebih lanjut, lihat Inisialisasi instance OTSClient.
Tabel data telah dibuat dan data telah ditulis ke tabel tersebut. Untuk informasi lebih lanjut, lihat Buat tabel data dan Tulis data.
Indeks pencarian telah dibuat untuk tabel data. Untuk informasi lebih lanjut, lihat Buat indeks pencarian.
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 |
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.
|
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.