Fitur collapse digunakan untuk menghapus duplikat hasil pencarian berdasarkan kolom tertentu. Ketika hasil kueri berisi banyak data dari tipe tertentu, fitur ini menampilkan data tersebut hanya sekali dalam hasil yang dikembalikan guna memastikan keragaman tipe hasil.
Prasyarat
-
Instans OTSClient telah diinisialisasi. Untuk informasi selengkapnya, lihat Initialize an OTSClient instance.
-
Tabel data telah dibuat dan data telah ditulis ke dalam tabel tersebut. 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.
Catatan
-
Fitur collapse hanya mendukung paginasi dengan offset dan limit, dan tidak mendukung paginasi berbasis token.
-
Ketika Anda menggunakan agregasi statistik dan collapse pada set hasil, agregasi diterapkan pada set hasil sebelum dilakukan collapse.
-
Setelah menggunakan fitur collapse, jumlah total kelompok yang dikembalikan dibatasi oleh parameter offset dan limit, dengan maksimal 100.000 kelompok.
-
Jumlah total baris yang dikembalikan dalam hasil adalah jumlah baris yang sesuai sebelum operasi collapse. Anda tidak dapat mengambil jumlah total kelompok setelah collapse.
Parameter
|
Parameter |
Deskripsi |
|
table_name |
Nama tabel data. |
|
index_name |
Nama indeks pencarian. |
|
query |
Jenis kueri. Atur ke jenis kueri apa pun yang didukung. |
|
collapse |
Melakukan collapse pada set hasil berdasarkan kolom tertentu. Hanya kolom bertipe INTEGER, FLOATING-POINT, dan KEYWORD yang didukung.
|
|
offset |
Posisi awal untuk kueri. |
|
limit |
Jumlah maksimum baris yang dikembalikan. Atur |
Contoh
Kode contoh berikut menunjukkan cara menggunakan indeks pencarian untuk mendapatkan hingga 10 catatan keyword unik dalam tabel php_sdk_test serta mengembalikan data pada kolom col1 dan col2.
$request = array(
'table_name' => 'php_sdk_test',
'index_name' => 'php_sdk_test_search_index',
'search_query' => array(
'offset' => 0,
'limit' => 10,
'get_total_count' => true,
'collapse' => array(
'field_name' => 'keyword'
),
'query' => array(
'query_type' => QueryTypeConst::MATCH_ALL_QUERY
),
// 'sort' => array(// Tentukan metode pengurutan tertentu jika diperlukan.
// array(
// 'field_sort' => array(
// 'field_name' => 'keyword',
// 'order' => SortOrderConst::SORT_ORDER_ASC
// )
// ),
// ),
'token' => null,
),
'columns_to_get' => array(
'return_type' => ColumnReturnTypeConst::RETURN_SPECIFIED,
'return_names' => array('col1', 'col2')
)
);
$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 metode kueri yang berbeda untuk mengkueri data dari berbagai dimensi sesuai kebutuhan bisnis Anda.
Jika Anda ingin mengurutkan atau melakukan paginasi pada baris yang memenuhi kondisi kueri, Anda dapat menggunakan fitur pengurutan dan paginasi. Untuk informasi selengkapnya, lihat Sorting and paging.
Jika Anda ingin melakukan collapse pada set hasil berdasarkan kolom tertentu, Anda dapat menggunakan fitur collapse (distinct). Dengan cara ini, data dari tipe 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 mengurutkan baris tersebut, Anda dapat memanggil operasi ParallelScan dan ComputeSplits untuk menggunakan fitur pemindaian paralel. Untuk informasi selengkapnya, lihat Parallel scan.