Saat melakukan kueri wildcard, Anda dapat menggunakan karakter asterisk (*) dan tanda tanya (?) untuk mencari data. Asterisk (*) cocok dengan string dengan panjang berapa pun di awal, tengah, atau akhir istilah pencarian. Tanda tanya (?) cocok dengan satu karakter pada posisi tertentu. String dapat dimulai dengan asterisk (*) atau tanda tanya (?). Sebagai contoh, jika Anda mencari "table*e", maka "tablestore" akan cocok.
Untuk menggunakan operator NOT LIKE, Anda harus menggabungkan WildcardQuery dengan must_not_queries dari BoolQuery.
Prasyarat
Instance OTSClient telah diinisialisasi. Untuk informasi lebih lanjut, lihat Inisialisasi Instance OTSClient.
Tabel data telah dibuat dan data telah ditulis ke dalam 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 kembalikan dalam kueri saat ini. |
get_total_count | Menentukan apakah akan mengembalikan jumlah total baris yang memenuhi kondisi kueri. Nilai default parameter ini adalah false, yang menunjukkan bahwa jumlah total baris yang memenuhi kondisi kueri tidak dikembalikan. Jika Anda mengatur parameter get_total_count ke true, performa kueri akan terpengaruh. |
query_type | Tipe kueri. Atur tipe kueri ke |
field_name | Nama kolom yang ingin Anda kueri. |
value | String yang mengandung karakter wildcard. Panjang string tidak boleh melebihi 32 karakter. |
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 return_type dan return_names untuk parameter ini.
|
Contoh
Berikut adalah kode sampel yang menunjukkan cara mengkueri data yang sesuai dengan kondisi key* di kolom kata kunci tabel.
$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::WILDCARD_QUERY,
'query' => array(
'field_name' => 'keyword',
'value' => 'key*'
)
),
'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('keyword')
)
);
$response = $otsClient->search($request);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 range, kueri wildcard, kueri Boolean, kueri geo, kueri nested, dan kueri exists. Metode ini dapat digunakan untuk mengkueri data dari berbagai dimensi sesuai kebutuhan bisnis Anda.
Untuk mengurutkan atau membagi halaman baris yang memenuhi kondisi kueri, gunakan fitur pengurutan dan paging. Untuk informasi lebih lanjut, lihat Pengurutan dan Paging.
Untuk meruntuhkan set hasil berdasarkan kolom tertentu, gunakan fitur collapse (distinct). Dengan cara ini, data dari jenis tertentu hanya muncul sekali dalam hasil kueri. Untuk informasi lebih lanjut, lihat Collapse (Distinct).
Untuk menganalisis data dalam tabel data, seperti mendapatkan nilai ekstrem, jumlah total, dan jumlah baris, gunakan operasi agregasi atau jalankan pernyataan SQL. Untuk informasi lebih lanjut, lihat Agregasi dan Kueri SQL.
Untuk mendapatkan semua baris yang memenuhi kondisi kueri tanpa perlu mengurutkan baris, panggil operasi ParallelScan dan ComputeSplits untuk menggunakan fitur pemindaian paralel. Untuk informasi lebih lanjut, lihat Pemindaian Paralel.