Anda dapat menggunakan kueri match all untuk mencocokkan semua baris dalam tabel, menanyakan jumlah total baris, dan mengembalikan beberapa baris acak.
Prasyarat
Sebuah instance OTSClient telah diinisialisasi. Untuk informasi lebih lanjut, lihat Inisialisasi Klien Tablestore.
Sebuah 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 |
query | Jenis kueri. Atur parameter kueri ke MatchAllQuery. |
table_name | Nama tabel data. |
index_name | Nama indeks pencarian. |
limit | Jumlah maksimum baris yang ingin Anda kembalikan dalam kueri saat ini. Untuk hanya menanyakan jumlah baris yang memenuhi kondisi kueri tanpa mengembalikan data spesifik, Anda dapat mengatur limit ke 0. Dengan cara ini, Tablestore mengembalikan jumlah baris yang memenuhi kondisi kueri tanpa data spesifik dari tabel. |
get_total_count | Menentukan apakah akan mengembalikan jumlah total baris yang memenuhi kondisi kueri. Nilai default: false. Nilai false menentukan bahwa jumlah total baris yang memenuhi kondisi kueri tidak dikembalikan. Jika Anda mengatur parameter ini ke true, performa kueri akan terpengaruh. |
columns_to_get | Menentukan apakah akan mengembalikan semua kolom dari setiap baris yang memenuhi kondisi kueri.
|
Contoh
Berikut adalah contoh kode untuk menanyakan jumlah total baris dalam tabel:
Tablestore SDK untuk Python V5.2.1 atau yang lebih baru
Secara default, jika Anda menggunakan Tablestore SDK untuk Python V5.2.1 atau yang lebih baru untuk melakukan kueri match all, objek SearchResponse akan dikembalikan. Berikut adalah permintaan contoh:
query=MatchAllQuery() all_rows=[] next_token=None first_page=True while first_page or next_token: search_response=client.search(table_name, index_name, SearchQuery(query,next_token=next_token,limit=100,get_total_count=True), columns_to_get=ColumnsToGet(['k','t','g','ka','la'],ColumnReturnType.SPECIFIED)) all_rows.extend(search_response.rows) first_page=False for row in all_rows: print(row) print('Total baris:', len(all_rows))Anda dapat menggunakan permintaan contoh berikut untuk mengembalikan hasil tipe Tuple:
query=MatchAllQuery() all_rows=[] next_token=None first_page=True while first_page or next_token: rows, next_token, total_count, is_all_succeed, agg_results, group_by_results =client.search(table_name, index_name, SearchQuery(query,next_token=next_token,limit=100,get_total_count=True), columns_to_get=ColumnsToGet(['k','t','g','ka','la'],ColumnReturnType.SPECIFIED)).v1_response() all_rows.extend(rows) first_page=False for row in all_rows: print(row) print('Total baris:', len(all_rows))Tablestore SDK untuk Python versi sebelum V5.2.1
Jika Anda menggunakan versi Tablestore SDK untuk Python yang lebih lama dari V5.2.1 untuk melakukan kueri match all, hasil tipe Tuple akan dikembalikan secara default. Berikut adalah permintaan contoh:
query=MatchAllQuery() all_rows=[] next_token=None first_page=True while first_page or next_token: rows, next_token, total_count, is_all_succeed = client.search(table_name, index_name, SearchQuery(query, next_token=next_token, limit=100, get_total_count=True), columns_to_get=ColumnsToGet(['k', 't', 'g', 'ka', 'la'], ColumnReturnType.SPECIFIED)) all_rows.extend(rows) first_page=False for row in all_rows: print(row) print('Total baris:', len(all_rows))