Pencocokan semua kueri dengan Tablestore SDK for Java mencocokkan setiap baris dalam indeks pencarian dan mengembalikan baris yang cocok atau jumlah totalnya.
Prasyarat
Instal Tablestore SDK for Java dan inisialisasi klien.
Deskripsi fitur
Pencocokan semua kueri mencocokkan seluruh data dalam indeks pencarian tanpa menentukan bidang atau nilai untuk filter. Saat memanggil metode search, atur jenis kueri menjadi MatchAllQuery, lalu gunakan objek SearchQuery untuk mengonfigurasi jumlah baris yang dikembalikan, pelacakan jumlah total, serta perilaku kueri umum lainnya.
SearchResponse search(SearchRequest request)
Contoh berikut mencocokkan setiap baris dalam indeks pencarian dan mengembalikan hingga 10 baris beserta jumlah total baris yang cocok.
String tableName = "example_table";
String indexName = "example_index";
SearchQuery searchQuery = new SearchQuery();
searchQuery.setQuery(new MatchAllQuery());
searchQuery.setLimit(10);
searchQuery.setTrackTotalCount(SearchQuery.TRACK_TOTAL_COUNT);
SearchRequest request = new SearchRequest(tableName, indexName, searchQuery);
SearchRequest.ColumnsToGet columnsToGet = new SearchRequest.ColumnsToGet();
columnsToGet.setReturnAll(true);
request.setColumnsToGet(columnsToGet);
SearchResponse response = client.search(request);
System.out.println(response.getTotalCount());
System.out.println(response.getRows());
MatchAllQuery memberikan skor relevansi yang sama untuk setiap baris yang cocok. Tanpa pengurutan eksplisit, urutan baris tidak dijamin. Untuk hanya mengambil jumlah total, atur parameter limit ke 0. Dalam hal ini, server tidak akan mengembalikan baris apa pun. Perlu dicatat bahwa pelacakan jumlah total dapat meningkatkan beban kueri.
Parameter
Permintaan pencarian
request adalah objek SearchRequest yang berisi parameter berikut.
|
Nama |
Tipe |
Deskripsi |
|
tableName (wajib) |
String |
Nama tabel. |
|
indexName (wajib) |
String |
Nama indeks pencarian. |
|
searchQuery (wajib) |
SearchQuery |
Kondisi kueri dan pengaturan kueri umum. |
|
columnsToGet (opsional) |
SearchRequest.ColumnsToGet |
Pengaturan kolom yang dikembalikan. Jika Anda menghilangkan parameter ini, hanya kolom kunci primer yang dikembalikan. |
|
timeoutInMillisecond (opsional) |
int |
Timeout kueri tingkat permintaan dalam milidetik. Nilai default-nya adalah |
|
routingValues (opsional) |
|
Nilai kunci primer untuk bidang routing kustom. Hilangkan parameter ini jika indeks tidak menggunakan routing kustom. |
Pengaturan kueri
request.searchQuery adalah objek SearchQuery yang berisi parameter berikut.
|
Nama |
Tipe |
Deskripsi |
|
query (wajib) |
Query |
Kondisi kueri. Atur parameter ini ke |
|
offset (opsional) |
Integer |
Posisi awal kueri. |
|
limit (opsional) |
Integer |
Jumlah maksimum baris yang dikembalikan. Atur parameter ini ke |
|
collapse (opsional) |
Collapse |
Pengaturan collapse bidang, yang menghapus duplikat hasil berdasarkan bidang tertentu. Untuk detail konfigurasi, lihat Collapse query results. |
|
sort (opsional) |
Sort |
Urutan pengurutan hasil. Untuk detail konfigurasi, lihat Sort and paginate results. |
|
trackTotalCount (opsional) |
int |
Jumlah maksimum baris yang cocok yang diharapkan untuk dihitung. Nilai default-nya adalah |
|
filter (opsional) |
SearchFilter |
Filter yang diterapkan pada hasil |
|
aggregationList (opsional) |
|
Pengaturan agregasi. Untuk detail konfigurasi, lihat Aggregation. |
|
groupByList (opsional) |
|
Pengaturan pengelompokan. Untuk detail konfigurasi, lihat Aggregation. |
|
token (opsional) |
byte[] |
Token paginasi. Atur parameter ini ke nilai |
Kondisi kueri
request.searchQuery.query adalah objek MatchAllQuery dan tidak memiliki parameter tambahan. Jenis kueri ini tidak mendukung ringkasan dan penyorotan. Untuk informasi mengenai jenis kueri yang didukung beserta detail konfigurasinya, lihat Summary and highlighting.
Kolom yang dikembalikan
request.columnsToGet adalah objek SearchRequest.ColumnsToGet yang berisi parameter berikut.
|
Nama |
Tipe |
Deskripsi |
|
columns (opsional) |
|
Kolom atribut yang dikembalikan. Atur parameter ini hanya jika |
|
returnAll (opsional) |
boolean |
Menentukan apakah semua kolom atribut dalam tabel dikembalikan. Nilai default: |
|
returnAllFromIndex (opsional) |
boolean |
Menentukan apakah semua kolom atribut yang diindeks dikembalikan. Nilai default: |
Nilai kembalian
search mengembalikan objek SearchResponse. Tabel berikut menjelaskan bidang intinya.
|
Nama |
Type |
Deskripsi |
|
totalCount |
long |
Jumlah baris yang cocok. Panggil |
|
rows |
|
Baris yang dikembalikan oleh kueri ini. Panggil |
|
nextToken |
byte[] |
Token halaman berikutnya. Panggil |
|
isAllSuccess |
boolean |
Menunjukkan apakah semua partisi indeks berhasil diinterogasi. Panggil |