All Products
Search
Document Center

Tablestore:Kueri sufiks

Last Updated:May 07, 2026

Kueri sufiks (SuffixQuery) menemukan data dalam indeks pencarian yang diakhiri dengan string tertentu. Misalnya, Anda dapat mencari pengiriman paket berdasarkan empat digit terakhir nomor telepon.

Cara kerja

Gunakan kueri sufiks untuk menemukan data yang diakhiri dengan sufiks tertentu. Untuk menjalankan SuffixQuery, Anda harus menentukan sufiks yang akan dicocokkan.

Satu-satunya tipe data yang mendukung kueri sufiks adalah FuzzyKeyword. Tipe data ini dioptimalkan untuk operasi pencarian fuzzy seperti SuffixQuery, PrefixQuery, dan wildcard query, serta memberikan performa yang lebih baik dan stabil pada set data kecil, menengah, maupun besar tanpa penurunan signifikan seiring peningkatan volume data.

Catatan
  • Bidang bertipe FuzzyKeyword tidak mendukung pengurutan atau agregasi. Jika Anda perlu melakukan pengurutan atau agregasi pada bidang tersebut, buatlah virtual column bertipe Keyword untuk tujuan tersebut.

  • Untuk mensimulasikan kueri sufiks pada bidang Keyword, balikkan string saat menulis data, lalu gunakan kueri awalan (PrefixQuery) untuk mencarinya.

API

Lakukan kueri sufiks dengan memanggil operasi Search atau ParallelScan, lalu atur tipe kueri menjadi SuffixQuery.

Parameter

Parameter

Deskripsi

query

Atur tipe kueri menjadi SuffixQuery.

fieldName

Bidang yang akan dicocokkan.

suffix

Nilai sufiks.

getTotalCount

Menentukan apakah jumlah total baris yang cocok dikembalikan. Nilai default-nya adalah false.

Mengembalikan jumlah total baris yang cocok memengaruhi performa kueri.

weight

Bobot kueri. Parameter ini digunakan untuk pengurutan berbasis skor dalam skenario indeks teks penuh. Nilai bobot yang lebih tinggi menghasilkan skor yang lebih tinggi untuk baris yang cocok. Nilainya harus berupa bilangan titik mengambang positif.

Parameter ini hanya memengaruhi skor hasil yang dikembalikan, bukan jumlah hasilnya.

tableName

Nama tabel data.

indexName

Nama indeks pencarian.

columnsToGet

Kolom yang akan dikembalikan. Ini mencakup pengaturan returnAll dan columns.

Secara default, returnAll bernilai false. Jika returnAll bernilai false, Anda dapat menggunakan columns untuk menentukan kolom yang dikembalikan. Jika Anda tidak menentukan columns, hanya kolom kunci primer yang dikembalikan.

Jika Anda mengatur returnAll menjadi true, semua kolom dikembalikan.

Penggunaan

Anda dapat melakukan kueri sufiks menggunakan Konsol Tablestore atau SDK. Pastikan prasyarat berikut telah dipenuhi sebelum memulai:

Gunakan Konsol Tablestore

  1. Buka tab Index Management.

    1. Login ke Table Store console.

    2. Di bilah navigasi atas, pilih kelompok sumber daya dan wilayah.

    3. Pada halaman Overview, klik nama instans atau klik Instance Management di kolom Actions.

    4. Pada tab Instance Details, di tab Data Table List, klik nama tabel data atau klik Index Management di kolom Actions.

  2. Pada tab Indexes, temukan indeks pencarian yang dituju lalu klik Manage Data di kolom Actions.

    1. Secara default, semua kolom dikembalikan. Untuk mengembalikan kolom tertentu, matikan Retrieve All Columns dan masukkan nama kolom yang dipisahkan koma.

      Catatan

      Secara default, Table Store mengembalikan kolom kunci primer dari tabel data.

    2. Pilih operator logika: And, Or, atau Not.

      Jika Anda memilih And, kueri akan mengembalikan data yang memenuhi semua kondisi yang ditentukan. Jika Anda memilih Or, kueri akan mengembalikan data yang memenuhi minimal satu kondisi yang ditentukan. Jika Anda memilih Not, kueri akan mengembalikan data yang tidak memenuhi kondisi yang ditentukan.

    3. Pilih bidang indeks bertipe FuzzyKeyword, lalu klik Add.

    4. Atur tipe kueri untuk bidang indeks menjadi Suffix query (SuffixQuery) dan masukkan nilai sufiks.

    5. Secara default, pengurutan dinonaktifkan. Untuk mengurutkan hasil berdasarkan bidang tertentu, aktifkan Enable Sorting, tambahkan bidang pengurutan, dan konfigurasikan urutan pengurutan.

    6. Secara default, agregasi dinonaktifkan. Untuk melakukan agregasi statistik pada bidang tertentu, aktifkan Enable Aggregation, tambahkan bidang untuk agregasi, dan konfigurasikan pengaturan agregasi.

  3. Klik OK.

    Hasil kueri ditampilkan pada tab Index Management.

Gunakan SDK

Anda dapat menggunakan Tablestore SDK for Java untuk melakukan kueri sufiks.

Penting
  • Fitur kueri sufiks didukung di Tablestore SDK for Java versi 5.17.0 dan yang lebih baru.

  • Sebelum melakukan kueri sufiks menggunakan SDK, Anda harus menginisialisasi client terlebih dahulu. Untuk informasi selengkapnya, lihat Inisialisasi client Tablestore.

Contoh berikut menunjukkan cara mengkueri data yang nilainya pada kolom Col_FuzzyKeyword diakhiri dengan "hangzhou".

/**
 * Kueri data yang nilainya pada kolom Col_FuzzyKeyword diakhiri dengan "hangzhou".
 * @param client
 */
private static void suffixQuery(SyncClient client) {
    SearchQuery searchQuery = new SearchQuery();
    SuffixQuery suffixQuery = new SuffixQuery(); // Atur tipe kueri menjadi SuffixQuery.
    searchQuery.setGetTotalCount(true);
    suffixQuery.setFieldName("Col_FuzzyKeyword");
    suffixQuery.setSuffix("hangzhou");
    searchQuery.setQuery(suffixQuery);
    //searchQuery.setGetTotalCount(true); // Atur menjadi true untuk mengembalikan jumlah total baris yang cocok.

    SearchRequest searchRequest = new SearchRequest("<TABLE_NAME>", "<SEARCH_INDEX_NAME>", searchQuery);
    // Tentukan kolom yang dikembalikan dengan mengatur parameter columnsToGet. Jika tidak diatur, hanya kolom kunci primer yang dikembalikan secara default.
    SearchRequest.ColumnsToGet columnsToGet = new SearchRequest.ColumnsToGet();
    //columnsToGet.setReturnAll(true); // Atur menjadi true untuk mengembalikan semua kolom.
    columnsToGet.setColumns(Arrays.asList("Col_FuzzyKeyword")); // Atur untuk mengembalikan kolom tertentu.
    searchRequest.setColumnsToGet(columnsToGet);

    SearchResponse resp = client.search(searchRequest);
    //System.out.println("TotalCount: " + resp.getTotalCount()); // Cetak jumlah total baris yang cocok, bukan jumlah baris yang dikembalikan.
    System.out.println("Row: " + resp.getRows());
}

Penagihan

Mengkueri data menggunakan Indeks Pencarian mengonsumsi throughput baca. Untuk informasi selengkapnya, lihat Metering dan penagihan Indeks Pencarian.

FAQ

Topik terkait