Kueri term mengembalikan baris yang nilai bidangnya secara tepat sesuai dengan kata kunci yang ditentukan. Kata kunci tersebut tidak dianalisis—Tablestore membandingkannya apa adanya terhadap nilai yang diindeks. Untuk kolom TEXT, Tablestore mencocokkan kata kunci tersebut terhadap setiap token dalam kolom; suatu baris cocok jika minimal satu token nilainya sama persis dengan kata kunci tersebut.
Prasyarat
-
Instans OTSClient telah diinisialisasi. Untuk informasi selengkapnya, lihat Initialize an OTSClient instance.
-
Tabel data telah dibuat dan data telah ditulis ke tabel. Untuk informasi lebih lanjut, lihat Membuat tabel data dan Menulis data.
-
Indeks pencarian telah dibuat untuk tabel data tersebut. Untuk informasi selengkapnya, lihat Create a search index.
Warning: Jangan gunakan kueri term pada kolom TEXT jika Anda ingin mencocokkan string aslinya. Tablestore melakukan tokenisasi terhadap nilai kolom TEXT saat pengindeksan, sehingga token yang tersimpan mungkin tidak sesuai dengan string asli Anda. Gunakan kueri cocok (match query) sebagai gantinya ketika melakukan kueri pada kolom TEXT berdasarkan konten lengkapnya.
Parameter
|
Parameter |
Deskripsi |
|
table_name |
Nama tabel data. |
|
index_name |
Nama indeks pencarian. |
|
offset |
Posisi awal dalam set hasil untuk kueri saat ini. |
|
limit |
Jumlah maksimum baris yang akan dikembalikan. Untuk hanya mendapatkan jumlah baris tanpa mengembalikan data baris, atur nilai ini menjadi 0. |
|
get_total_count |
Menentukan apakah jumlah total baris yang sesuai dengan kueri akan dikembalikan. Nilai default: false. Mengatur nilai ini menjadi true akan menurunkan performa kueri. |
|
query_type |
Jenis kueri. Atur nilai ini ke |
|
field_name |
Nama bidang yang akan dikueri. |
|
term |
Kata kunci yang akan dicocokkan terhadap nilai bidang. Kata kunci ini tidak ditokenisasi—Tablestore menggunakannya apa adanya untuk perbandingan. Untuk kolom TEXT, Tablestore melakukan tokenisasi terhadap nilai kolom saat pengindeksan dan memeriksa apakah ada token yang nilainya sama persis dengan kata kunci tersebut. Sebagai contoh, nilai TEXT |
|
sort |
Urutan pengurutan untuk baris yang dikembalikan. Untuk informasi selengkapnya, lihat Sorting and paging. |
|
columns_to_get |
Kolom yang akan dikembalikan untuk setiap baris yang cocok. Konfigurasikan return_type dan return_names untuk parameter ini.
|
Contoh
Contoh berikut melakukan kueri terhadap semua baris di mana kolom keyword secara tepat sesuai dengan term "keyword".
$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::TERM_QUERY,
'query' => array(
'field_name' => 'keyword',
'term' => 'keyword'
)
),
'sort' => array(
array(
'field_sort' => array(
'field_name' => 'keyword',
'order' => SortOrderConst::SORT_ORDER_ASC
)
),
)
),
'columns_to_get' => array(
'return_type' => ColumnReturnTypeConst::RETURN_ALL,
'return_names' => array('keyword', 'long')
)
);
$response = $otsClient->search($request);
FAQ
Referensi
Saat menggunakan indeks pencarian untuk mengkueri data, Anda dapat menggunakan metode kueri berikut: term query, terms query, match all query, match query, match phrase query, prefix query, range query, wildcard query, Boolean query, geo query, nested query, dan exists query. Anda dapat menggunakan berbagai metode kueri ini untuk mengkueri data dari beberapa dimensi sesuai kebutuhan bisnis Anda.
Jika Anda ingin mengurutkan atau menerapkan paginasi pada baris yang memenuhi kondisi kueri, Anda dapat menggunakan fitur pengurutan dan paginasi. Untuk informasi selengkapnya, lihat Sorting and paging.
Jika Anda ingin menciutkan (collapse) set hasil berdasarkan kolom tertentu, Anda dapat menggunakan fitur collapse (distinct). Dengan cara ini, data jenis tertentu hanya muncul sekali dalam hasil kueri. Untuk informasi selengkapnya, lihat Collapse (distinct).
Jika Anda ingin menganalisis data dalam tabel data, seperti mendapatkan nilai ekstrem, jumlah total, dan jumlah baris, Anda dapat melakukan operasi agregasi atau mengeksekusi pernyataan SQL. Untuk informasi selengkapnya, lihat Aggregation dan SQL query.
Jika Anda ingin dengan cepat mendapatkan semua baris yang memenuhi kondisi kueri tanpa perlu mengurutkannya, Anda dapat memanggil operasi ParallelScan dan ComputeSplits untuk menggunakan fitur pemindaian paralel. Untuk informasi selengkapnya, lihat Parallel scan.