All Products
Search
Document Center

Tablestore:Terms query

Last Updated:May 07, 2026

Kueri istilah (terms query) mirip dengan kueri tepat (term query), tetapi mendukung beberapa kata kunci. Satu baris data dikembalikan jika nilai kolomnya sesuai dengan setidaknya salah satu kata kunci tersebut. Kueri istilah dapat digunakan seperti operator IN dalam pernyataan SQL.

Operasi API

Anda dapat memanggil operasi Search atau ParallelScan dan mengatur jenis kueri ke TermsQuery untuk menjalankan kueri istilah.

Parameter

Parameter

Deskripsi

query

Jenis kueri. Atur parameter query ke TermsQuery.

fieldName

Nama bidang yang ingin Anda cocokkan.

terms

Kata kunci pencarian yang ingin dicocokkan. Anda dapat menentukan hingga 1.024 terms.

Satu baris data dikembalikan ketika nilai kolom sesuai dengan setidaknya salah satu kata kunci tersebut.

getTotalCount

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

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

weight

Bobot yang ingin Anda tetapkan pada bidang yang ingin Anda kueri untuk menghitung skor relevansi kata kunci berbasis BM25. Parameter ini digunakan dalam skenario pencarian teks lengkap. Jika Anda menetapkan bobot lebih tinggi untuk bidang yang ingin Anda kueri, skor relevansi kata kunci berbasis BM25 untuk bidang tersebut akan lebih tinggi. Nilai parameter ini adalah bilangan 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 semua kolom dari setiap baris yang memenuhi kondisi kueri dikembalikan. Anda dapat menentukan field returnAll dan columns untuk parameter ini.

Nilai default field returnAll adalah false, yang berarti tidak semua kolom dikembalikan. Dalam kasus ini, Anda dapat menggunakan field columns untuk menentukan kolom yang ingin dikembalikan. Jika Anda tidak menentukan kolom yang ingin dikembalikan, hanya kolom kunci primer yang dikembalikan.

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

Metode

Anda dapat menggunakan Konsol Tablestore, CLI Tablestore, atau SDK Tablestore untuk menjalankan kueri istilah. Sebelum menjalankan kueri istilah, pastikan persiapan berikut telah dilakukan:

  • Anda memiliki Akun Alibaba Cloud atau Pengguna RAM yang memiliki izin untuk melakukan operasi pada Tablestore. Untuk informasi tentang cara memberikan izin operasi Tablestore kepada Pengguna RAM, lihat Gunakan kebijakan RAM untuk memberikan izin kepada Pengguna RAM.

    Jika Anda ingin menggunakan SDK Tablestore atau CLI Tablestore untuk menjalankan kueri, pasangan Kunci Akses (AccessKey pair) telah dibuat untuk Akun Alibaba Cloud atau Pengguna RAM Anda. Untuk informasi selengkapnya, lihat Buat pasangan Kunci Akses.

  • Tabel data telah dibuat. Untuk informasi selengkapnya, lihat Operasi pada tabel.

  • Indeks pencarian telah dibuat untuk tabel data. Untuk informasi selengkapnya, lihat Buat indeks pencarian.

  • Jika Anda ingin menggunakan SDK Tablestore untuk menjalankan kueri, instans OTSClient telah diinisialisasi. Untuk informasi selengkapnya, lihat Inisialisasi instans OTSClient.

  • Jika Anda ingin menggunakan CLI Tablestore untuk menjalankan kueri, CLI Tablestore telah diunduh dan dijalankan, serta informasi instans yang ingin Anda akses telah dikonfigurasi. Untuk informasi selengkapnya, lihat Unduh CLI Tablestore dan Jalankan CLI Tablestore dan konfigurasi informasi akses.

Gunakan Konsol Tablestore

  1. Buka tab Index Management.

    1. Masuk ke Konsol Table Store.

    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. Di tab Instance Details, pada tab Data Table List, klik nama tabel data atau klik Index Management di kolom Actions.

  2. Di tab Index Management, temukan Search Index yang dituju dan klik Search di kolom Actions.

  3. Pada kotak dialog Search, tentukan kondisi kueri.

    1. Secara default, semua kolom dikembalikan. Untuk mengembalikan kolom tertentu, matikan Retrieve All Columns dan masukkan nama kolom, dipisahkan dengan 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 mengembalikan data yang memenuhi semua kondisi yang ditentukan. Jika Anda memilih Or, kueri mengembalikan data yang memenuhi setidaknya salah satu kondisi yang ditentukan. Jika Anda memilih Not, kueri mengembalikan data yang tidak memenuhi kondisi yang ditentukan.

    3. Pilih bidang indeks dan klik Add.

    4. Atur jenis kueri bidang indeks ke Terms query (TermsQuery), masukkan nilai, lalu klik Add.

      Untuk menambahkan beberapa nilai, ulangi proses memasukkan Value dan klik Add.

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

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

  4. Klik OK.

    Hasil kueri ditampilkan di tab Index Management.

Gunakan CLI Tablestore

Anda dapat menjalankan perintah search di CLI Tablestore untuk mengkueri data menggunakan indeks pencarian. Untuk informasi selengkapnya, lihat Indeks pencarian.

  1. Jalankan perintah search untuk menggunakan indeks pencarian search_index guna mengkueri data dan mengembalikan semua kolom terindeks dari setiap baris yang memenuhi kondisi kueri.

    search -n search_index --return_all_indexed
  2. Masukkan kondisi kueri sesuai permintaan sistem:

    {
        "Offset": -1,
        "Limit": 10,
        "Collapse": null,
        "Sort": null,
        "GetTotalCount": true,
        "Token": null,
        "Query": {
            "Name": "TermsQuery",
            "Query": {
                "FieldName": "col_keyword",
                "Terms": ["hangzhou", "xi'an"]
            }
        }
    }

Gunakan SDK Tablestore

Anda dapat menjalankan kueri istilah menggunakan SDK Tablestore berikut: SDK Tablestore untuk Java, SDK Tablestore untuk Go, SDK Tablestore untuk Python, SDK Tablestore untuk Node.js, SDK Tablestore untuk .NET, dan SDK Tablestore untuk PHP. Pada contoh ini, digunakan SDK Tablestore untuk Java.

Kode contoh berikut menunjukkan cara mengkueri baris-baris di mana nilai kolom Col_Keyword adalah "hangzhou" atau "xi'an":

/**
 * Cari tabel untuk baris di mana nilai Col_Keyword adalah "hangzhou" atau "xi'an". 
 * @param client
 */
private static void termQuery(SyncClient client) {
    SearchQuery searchQuery = new SearchQuery();
    TermsQuery termsQuery = new TermsQuery(); // Atur jenis kueri ke TermsQuery. 
    termsQuery.setFieldName("Col_Keyword"); // Tentukan nama kolom yang ingin Anda cocokkan. 
    termsQuery.addTerm(ColumnValue.fromString("hangzhou")); // Tentukan kata kunci yang ingin Anda cocokkan. 
    termsQuery.addTerm(ColumnValue.fromString("xi'an")); // Tentukan kata kunci yang ingin Anda cocokkan. 
    searchQuery.setQuery(termsQuery);
    //searchQuery.setGetTotalCount(true); //Atur parameter GetTotalCount ke true untuk mengembalikan jumlah total baris yang memenuhi kondisi kueri. 

    SearchRequest searchRequest = new SearchRequest("<TABLE_NAME>", "<SEARCH_INDEX_NAME>", searchQuery);
    // Anda dapat menggunakan parameter columnsToGet untuk menentukan kolom yang ingin dikembalikan atau menentukan bahwa semua kolom dikembalikan. Jika Anda tidak menentukan parameter ini, hanya kolom kunci primer yang dikembalikan. 
    //SearchRequest.ColumnsToGet columnsToGet = new SearchRequest.ColumnsToGet();
    //columnsToGet.setReturnAll(true); // Atur parameter ReturnAll ke true untuk mengembalikan semua kolom. 
    //columnsToGet.setColumns(Arrays.asList("ColName1","ColName2")); // Tentukan kolom yang ingin dikembalikan. 
    //searchRequest.setColumnsToGet(columnsToGet);

    SearchResponse resp = client.search(searchRequest);
    //System.out.println("TotalCount: " + resp.getTotalCount()); // Tentukan bahwa jumlah total baris yang memenuhi kondisi kueri—bukan jumlah baris yang dikembalikan—ditampilkan. 
    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

Referensi