全部产品
Search
文档中心

Tablestore:Kueri Exists

更新时间:Jul 02, 2025

Kueri exists, juga dikenal sebagai kueri NULL atau kueri nilai NULL, digunakan dalam data yang jarang untuk menentukan apakah kolom dari suatu baris ada. Sebagai contoh, Anda dapat memfilter baris di mana nilai kolom alamat tidak kosong.

Catatan
  • Untuk memeriksa apakah sebuah kolom berisi nilai kosong, gunakan ExistsQuery bersama dengan must_not_queries dari BoolQuery.

  • Jika salah satu kondisi berikut terpenuhi, sistem menganggap bahwa kolom tersebut tidak ada. Dalam contoh ini, kolom city digunakan.

    • Tipe kolom city dalam indeks pencarian adalah tipe dasar seperti keyword. Jika sebuah baris di mana kolom city tidak ada dalam tabel data, indeks pencarian menganggap bahwa kolom city tidak ada.

    • Tipe kolom city dalam indeks pencarian adalah tipe dasar seperti keyword. Jika sebuah baris di mana nilai kolom city adalah array kosong ("city" = "[]"), indeks pencarian menganggap bahwa kolom city tidak ada.

Prasyarat

Parameter

Parameter

Deskripsi

field_name

Nama kolom yang ingin Anda kueri.

query

Tipe kueri. Atur parameter ini ke ExistsQuery.

get_total_count

Menentukan apakah akan mengembalikan jumlah total baris yang memenuhi kondisi kueri. Nilai default dari parameter ini adalah false, yang menentukan bahwa jumlah total baris yang memenuhi kondisi kueri tidak dikembalikan.

Jika Anda mengatur parameter ini ke true, performa kueri akan terpengaruh.

table_name

Nama tabel data.

index_name

Nama indeks pencarian.

columns_to_get

Menentukan apakah akan mengembalikan semua kolom dari setiap baris yang memenuhi kondisi kueri. Anda dapat mengonfigurasi bidang return_type dan column_names untuk parameter ini.

  • Jika Anda mengatur bidang return_type ke ColumnReturnType.SPECIFIED, Anda dapat menggunakan bidang column_names untuk menentukan kolom yang akan dikembalikan.

  • Jika Anda mengatur bidang return_type ke ColumnReturnType.ALL, semua kolom dikembalikan.

  • Jika Anda mengatur bidang return_type ke ColumnReturnType.NONE, hanya kolom kunci utama yang dikembalikan.

Contoh

Contoh berikut menunjukkan cara memfilter baris di mana nilai kolom city tidak kosong.

  • Melakukan kueri exists menggunakan Tablestore SDK untuk Python V5.2.1 atau yang lebih baru

    Jika Anda menggunakan Tablestore SDK untuk Python V5.2.1 atau yang lebih baru untuk melakukan kueri exists, objek SearchResponse dikembalikan secara default. Kode berikut memberikan contoh permintaan:

    query = ExistsQuery("city")
    search_response = client.search(
        '<TABLE_NAME>', '<SEARCH_INDEX_NAME>',
        SearchQuery(query, limit=100, get_total_count=True),
        ColumnsToGet(return_type=ColumnReturnType.ALL)
    )
    print('request_id : %s' % search_response.request_id)
    print('is_all_succeed : %s' % search_response.is_all_succeed)
    print('total_count : %s' % search_response.total_count)
    print('rows : %s' % search_response.rows)

    Anda dapat menggunakan contoh permintaan berikut untuk mengembalikan hasil bertipe Tuple:

    query = ExistsQuery("city")
    rows, next_token, total_count, is_all_succeed, agg_results, group_by_results = client.search(
        '<TABLE_NAME>', '<SEARCH_INDEX_NAME>',
        SearchQuery(query, limit=100, get_total_count=True),
        ColumnsToGet(return_type=ColumnReturnType.ALL)
    ).v1_response()
  • Melakukan kueri exists menggunakan Tablestore SDK untuk Python versi sebelum 5.2.1

    Jika Anda menggunakan versi Tablestore SDK untuk Python yang lebih lama dari 5.2.1 untuk melakukan kueri exists, hasil bertipe Tuple dikembalikan secara default. Kode berikut menunjukkan contoh permintaan:

    query = ExistsQuery("city")
    rows, next_token, total_count, is_all_succeed = client.search(
        '<TABLE_NAME>', '<SEARCH_INDEX_NAME>',
        SearchQuery(query, limit=100, get_total_count=True),
        ColumnsToGet(return_type=ColumnReturnType.ALL)
    )

FAQ

Referensi

  • Saat menggunakan indeks pencarian untuk memfilter 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 geo, kueri Boolean, kueri vektor KNN, kueri nested, dan kueri exists. Anda dapat menggunakan metode kueri yang disediakan oleh indeks pencarian untuk memfilter data dari berbagai dimensi sesuai dengan kebutuhan bisnis Anda.

    Anda dapat mengurutkan atau membagi halaman baris yang memenuhi kondisi kueri dengan menggunakan fitur Pengurutan dan paginasi. Untuk informasi lebih lanjut, lihat Pengurutan dan paginasi.

    Anda dapat menggunakan fitur collapse (distinct) untuk merangkum set hasil berdasarkan kolom tertentu. Dengan cara ini, data dari tipe yang ditentukan muncul hanya sekali dalam hasil kueri. Untuk informasi lebih lanjut, lihat Collapse (distinct).

  • Jika Anda ingin menganalisis data dalam tabel data, Anda dapat menggunakan fitur agregasi dari operasi Search atau menjalankan pernyataan SQL. Sebagai contoh, Anda dapat memperoleh nilai minimum dan maksimum, jumlah, dan jumlah total baris. Untuk informasi lebih lanjut, lihat Agregasi dan Kueri SQL.

  • Jika Anda ingin mendapatkan semua baris yang memenuhi kondisi kueri tanpa perlu mengurutkan baris, Anda dapat memanggil operasi ParallelScan dan ComputeSplits untuk menggunakan fitur pemindaian paralel. Untuk informasi lebih lanjut, lihat Pemindaian paralel.