全部产品
Search
文档中心

Tablestore:Kueri Exists

更新时间:Jul 06, 2025

Kueri exists, juga dikenal sebagai kueri NULL atau kueri nilai NULL, digunakan dalam data jarang untuk menentukan apakah kolom dari suatu baris ada. Sebagai contoh, Anda dapat mengkueri 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 tidak ada. Dalam contoh ini, kolom city digunakan:

    • Tipe kolom city dalam indeks pencarian adalah tipe dasar seperti kata kunci. Jika sebuah baris tidak memiliki kolom city dalam tabel data, indeks pencarian menganggap bahwa kolom city tidak ada.

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

Prasyarat

Parameter

Parameter

Deskripsi

table_name

Nama tabel data.

index_name

Nama indeks pencarian.

field_name

Nama kolom yang ingin Anda kueri.

query_type

Tipe kueri. Atur tipe kueri ke QueryTypeConst::EXISTS_QUERY.

Catatan

Anda tidak dapat langsung mengkueri kolom bertingkat. Untuk mengkueri kolom bertingkat, Anda harus membungkus NestedQuery dengan menentukan jalur kolom bertingkat dan subkueri. Subkueri dapat berupa kueri dari tipe apa pun. Untuk informasi lebih lanjut, lihat Kueri Bertingkat.

Contoh

Berikut adalah contoh cara melakukan kueri exists.

Kueri baris yang tidak kosong dalam kolom teks

Kode sampel berikut menunjukkan cara mengkueri baris yang tidak kosong dalam kolom teks di sebuah tabel.

$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::EXISTS_QUERY,
            'query' => array(
                'field_name' => 'text'
            )
        )
    ),
    'columns_to_get' => array(
        'return_type' => ColumnReturnTypeConst::RETURN_SPECIFIED,
        'return_names' => array('keyword', 'long', 'array')
    )
);
$response = $otsClient->search($request);

Kueri baris yang tidak kosong dalam subkolom kolom bertingkat

Kode sampel berikut menunjukkan cara mengkueri baris yang tidak kosong dalam subkolom nested_long dari kolom bertingkat di sebuah tabel.

$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::NESTED_QUERY,
            'query' => array(
                'path' => "nested",
                'query' => array(
                    'query_type' => QueryTypeConst::EXISTS_QUERY,
                    'query' => array(
                        'field_name' => 'nested.nested_long',
                    )
                ),
                'score_mode' => ScoreModeConst::SCORE_MODE_AVG
            )
        )
    ),
    'columns_to_get' => array(
        'return_type' => ColumnReturnTypeConst::RETURN_SPECIFIED,
        'return_names' => array('nested')
    )
);
$response = $this->otsClient->search($request);

Pertanyaan Umum

Referensi

  • Saat menggunakan indeks pencarian untuk mengkueri 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 Boolean, kueri geo, kueri bertingkat, dan kueri exists. Anda dapat menggunakan metode kueri yang berbeda untuk mengkueri data dari beberapa dimensi sesuai dengan kebutuhan bisnis Anda.

    Untuk mengurutkan atau membagi halaman baris yang memenuhi kondisi kueri, gunakan fitur pengurutan dan paging. Untuk informasi lebih lanjut, lihat Pengurutan dan paging.

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

  • Untuk menganalisis data dalam tabel data, seperti mendapatkan nilai ekstrem, jumlah total, dan jumlah baris, gunakan operasi agregasi atau jalankan pernyataan SQL. Untuk informasi lebih lanjut, lihat Agregasi dan Kueri SQL.

  • Untuk dengan cepat mendapatkan semua baris yang memenuhi kondisi kueri tanpa perlu mengurutkan baris, panggil operasi ParallelScan dan ComputeSplits untuk menggunakan fitur pemindaian paralel. Untuk informasi lebih lanjut, lihat Pemindaian paralel.