All Products
Search
Document Center

Tablestore:Wildcard query

Last Updated:Oct 09, 2026

Dalam kueri wildcard, Anda dapat menggunakan karakter wildcard asterisk (*) dan tanda tanya (?) untuk mencari data. Asterisk (*) cocok dengan string apa pun yang memiliki panjang berapa pun—sebelum, sesudah, atau di sekitar istilah pencarian—sedangkan tanda tanya (?) cocok dengan satu karakter pada posisi tertentu. String dapat dimulai dengan asterisk (*) atau tanda tanya (?). Misalnya, string "table*e" akan mencocokkan "tablestore".

Jika pola kueri berupa *word* (setara dengan WHERE field_a LIKE '%word%' dalam SQL), Anda dapat menggunakan fitur kueri wildcard berbasis token untuk meningkatkan performa. Performa tidak menurun seiring peningkatan volume data.

Catatan

Untuk menggunakan operator NOT LIKE, Anda harus menggabungkan WildcardQuery dengan must_not_queries dari BoolQuery.

Prasyarat

Parameter

Parameter

Deskripsi

table_name

Nama tabel data.

index_name

Nama indeks pencarian.

offset

Posisi awal kueri saat ini.

limit

Jumlah maksimum baris yang ingin dikembalikan oleh kueri saat ini.

get_total_count

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

Jika Anda mengatur parameter get_total_count ke true, performa kueri akan menurun.

query_type

Jenis kueri. Atur jenis kueri ke QueryTypeConst::WILDCARD_QUERY.

field_name

Nama kolom yang ingin Anda kueri.

value

String yang berisi karakter wildcard. Panjang string tidak boleh melebihi 32 karakter.

sort

Metode yang ingin Anda gunakan untuk mengurutkan baris dalam respons. Untuk informasi selengkapnya, lihat Sorting and paging.

columns_to_get

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

  • Jika Anda mengatur return_type ke ColumnReturnTypeConst::RETURN_SPECIFIED, Anda dapat menggunakan return_names untuk menentukan kolom yang akan dikembalikan.

  • Jika Anda mengatur parameter return_type ke ColumnReturnTypeConst::RETURN_ALL, semua kolom akan dikembalikan.

  • Jika Anda mengatur return_type ke ColumnReturnTypeConst::RETURN_ALL_FROM_INDEX, semua kolom dalam indeks pencarian akan dikembalikan.

  • Jika Anda mengatur parameter return_type ke ColumnReturnTypeConst::RETURN_NONE, hanya kolom kunci primer yang akan dikembalikan.

Contoh

Kode contoh berikut menunjukkan cara mengkueri data yang cocok dengan pola key* pada kolom keyword suatu 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::WILDCARD_QUERY,
            'query' => array(
                'field_name' => 'keyword',
                'value' => 'key*'
            )
        ),
        'sort' => array(
            array(
                'field_sort' => array(
                    'field_name' => 'keyword',
                    'order' => SortOrderConst::SORT_ORDER_ASC
                )
            ),
        )
    ),
    'columns_to_get' => array(
        'return_type' => ColumnReturnTypeConst::RETURN_SPECIFIED,
        'return_names' => array('keyword')
    )
);
$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. Metode-metode ini memungkinkan Anda mengkueri data dari berbagai dimensi sesuai kebutuhan bisnis.

    Untuk mengurutkan atau menerapkan paginasi pada baris yang memenuhi kondisi kueri, gunakan fitur pengurutan dan paginasi. Untuk informasi selengkapnya, lihat Sorting and paging.

    Untuk menciutkan set hasil berdasarkan kolom tertentu sehingga hanya satu entri per nilai unik yang muncul dalam hasil kueri, gunakan fitur collapse (distinct). Untuk informasi selengkapnya, lihat Collapse (distinct).

  • Untuk menganalisis data dalam tabel—seperti mendapatkan nilai ekstrem, jumlah total, atau jumlah baris—Anda dapat melakukan operasi agregasi atau mengeksekusi pernyataan SQL. Untuk informasi selengkapnya, lihat Aggregation dan SQL query.

  • Untuk mendapatkan semua baris yang memenuhi kondisi kueri secara cepat tanpa perlu mengurutkannya, panggil operasi ParallelScan dan ComputeSplits untuk memanfaatkan fitur pemindaian paralel. Untuk informasi selengkapnya, lihat Parallel scan.