全部产品
Search
文档中心

Tablestore:Kueri Akhiran

更新时间:Jul 06, 2025

Anda dapat menggunakan kueri akhiran untuk menanyakan data dalam indeks pencarian dengan menentukan kondisi akhiran. Sebagai contoh, Anda bisa menanyakan paket berdasarkan empat digit terakhir dari nomor telepon seluler.

Prasyarat

Catatan Penggunaan

  • Tablestore SDK for Java V5.17.0 atau yang lebih baru mendukung kueri akhiran. Pastikan Anda telah memperoleh versi ini atau yang lebih baru untuk melakukan kueri akhiran. Untuk riwayat versi Tablestore SDK for Java, lihat Riwayat Versi Tablestore SDK for Java.

  • Kueri akhiran hanya dapat digunakan untuk menanyakan bidang bertipe FuzzyKeyword.

Parameter

Parameter

Deskripsi

query

Jenis kueri. Atur parameter ini ke SuffixQuery.

fieldName

Nama bidang yang ingin Anda cocokkan.

suffix

Akhiran.

getTotalCount

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.

weight

Bobot yang ingin Anda tetapkan pada bidang yang ingin Anda tanyakan untuk menghitung skor relevansi kata kunci berbasis BM25. Parameter ini digunakan dalam skenario pencarian teks lengkap. Jika Anda menentukan bobot yang lebih tinggi untuk bidang yang ingin Anda tanyakan, skor relevansi kata kunci berbasis BM25 untuk bidang tersebut lebih tinggi. Nilai dari parameter ini adalah angka floating-point positif.

Parameter ini tidak memengaruhi jumlah baris yang dikembalikan. Namun, parameter ini memengaruhi skor relevansi kata kunci berbasis BM25 dari hasil kueri.

tableName

Nama tabel data.

indexName

Nama indeks pencarian.

columnsToGet

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

Nilai default dari bidang returnAll adalah false, yang menentukan bahwa tidak semua kolom dikembalikan. Dalam hal ini, Anda dapat menggunakan bidang columns untuk menentukan kolom yang ingin Anda kembalikan. Jika Anda tidak menentukan kolom yang ingin Anda kembalikan, hanya kolom kunci utama yang dikembalikan.

Jika Anda mengatur bidang returnAll ke true, semua kolom dikembalikan.

Contoh

Berikut adalah kode sampel untuk menanyakan baris di mana nilai kolom Col_FuzzyKeyword berisi akhiran "hangzhou".

/**
 * Menanyakan baris di mana nilai kolom Col_FuzzyKeyword berisi akhiran "hangzhou".
 * @param client
 */
private static void suffixQuery(SyncClient client) {
    SearchQuery searchQuery = new SearchQuery();
    SuffixQuery suffixQuery = new SuffixQuery(); // Setel jenis kueri ke SuffixQuery.
    searchQuery.setGetTotalCount(true);
    suffixQuery.setFieldName("Col_FuzzyKeyword");
    suffixQuery.setSuffix("hangzhou");
    searchQuery.setQuery(suffixQuery);
    //searchQuery.setGetTotalCount(true); // Tentukan bahwa jumlah total baris yang cocok dikembalikan.

    SearchRequest searchRequest = new SearchRequest("<TABLE_NAME>", "<SEARCH_INDEX_NAME>", searchQuery);
    // Anda dapat mengonfigurasi parameter columnsToGet untuk menentukan kolom yang akan dikembalikan atau tentukan bahwa semua kolom dikembalikan. Jika Anda tidak mengonfigurasi parameter ini, hanya kolom kunci utama yang dikembalikan.
    SearchRequest.ColumnsToGet columnsToGet = new SearchRequest.ColumnsToGet();
    //columnsToGet.setReturnAll(true); // Tentukan bahwa semua kolom dikembalikan.
    columnsToGet.setColumns(Arrays.asList("Col_FuzzyKeyword")); // Tentukan kolom yang ingin Anda kembalikan.
    searchRequest.setColumnsToGet(columnsToGet);

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

FAQ

Referensi

  • Saat menggunakan indeks pencarian untuk menanyakan data, Anda dapat menggunakan metode kueri berikut: kueri tepat, kueri multi-tepat, kueri cocok semua, kueri cocok, kueri frasa cocok, kueri awalan, kueri rentang, kueri wildcard, kueri geo, kueri vektor KNN, kueri Boolean, kueri bersarang, dan kueri eksistensi. Setelah membuat indeks pencarian, Anda dapat menggunakan metode kueri yang disediakan oleh indeks pencarian untuk menanyakan data dari beberapa dimensi sesuai kebutuhan bisnis Anda.

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

    Anda dapat menggunakan fitur collapse (distinct) untuk meruntuhkan 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 ingin menganalisis data dalam tabel, Anda dapat memanggil operasi Search untuk menggunakan fitur agregasi atau menggunakan fitur kueri SQL. Contohnya, Anda dapat menanyakan nilai maksimum dan minimum, jumlah nilai, serta jumlah baris. Untuk informasi lebih lanjut, lihat Agregasi dan Kueri SQL.

  • Jika ingin memperoleh 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.