全部产品
Search
文档中心

Tablestore:Kueri tepat

更新时间:Jul 06, 2025

Anda dapat menggunakan kueri tepat untuk menanyakan data yang cocok persis dengan nilai tertentu dari sebuah kolom. Kueri ini mirip dengan pencarian berdasarkan kondisi kecocokan string. Jika tipe kolom adalah TEXT, Tablestore akan memecah string menjadi token dan mencocokkan token-token tersebut dengan kata kunci. Sebuah baris dianggap memenuhi kondisi kueri jika setidaknya salah satu token dalam baris tersebut cocok persis dengan kata kunci. Kata kunci yang digunakan dalam kueri tepat tidak dipecah menjadi token.

Prasyarat

Parameter

Parameter

Deskripsi

tableName

Nama tabel data.

indexName

Nama indeks pencarian.

offset

Posisi dari mana kueri saat ini dimulai.

limit

Jumlah maksimum baris yang ingin Anda kembalikan dalam kueri saat ini.

Untuk menanyakan hanya jumlah baris yang memenuhi kondisi kueri tanpa data spesifik, atur parameter limit ke 0.

queryType

Tipe kueri. Atur parameter ini ke TableStore.QueryType.TERM_QUERY.

fieldName

Nama kolom yang ingin Anda tanyakan.

term

Kata kunci yang digunakan untuk mencocokkan nilai kolom saat Anda melakukan kueri tepat.

Kata ini tidak dipecah menjadi token. Sebaliknya, seluruh kata digunakan untuk mencocokkan nilai kolom.

Jika tipe kolom adalah TEXT, Tablestore akan memecah string menjadi token dan menggunakan token-token tersebut untuk mencocokkan kata kunci. Sebuah baris memenuhi kondisi kueri ketika setidaknya salah satu token dalam baris tersebut cocok persis dengan kata kunci. Misalnya, jika nilai kolom bertipe TEXT dalam sebuah baris adalah "tablestore is cool", nilainya dapat dipecah menjadi "tablestore", "is", dan "cool". Baris tersebut memenuhi kondisi kueri jika Anda menentukan "tablestore", "is", atau "cool" sebagai kata kunci untuk mencocokkan nilai kolom.

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.

columnToGet

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

  • Jika Anda mengatur returnType ke TableStore.ColumnReturnType.RETURN_SPECIFIED, Anda perlu mengonfigurasi returnNames untuk menentukan kolom-kolom yang ingin Anda kembalikan.

  • Jika Anda mengatur parameter returnType ke TableStore.ColumnReturnType.RETURN_ALL, semua kolom akan dikembalikan.

  • Jika Anda mengatur parameter returnType ke TableStore.ColumnReturnType.RETURN_ALL_FROM_INDEX, semua kolom dalam indeks pencarian akan dikembalikan. .

  • Jika Anda mengatur parameter returnType ke TableStore.ColumnReturnType.RETURN_NONE, hanya kolom kunci utama yang akan dikembalikan.

Contoh

Berikut adalah contoh kode untuk menanyakan baris-baris di mana nilai kolom Col_Keyword cocok persis dengan "hangzhou":

/**
 * Cari tabel untuk baris-baris di mana nilai Col_Keyword cocok persis dengan "hangzhou". 
 */
client.search({
    tableName: TABLE_NAME,
    indexName: INDEX_NAME,
    searchQuery: {
        offset: 0,
        limit: 10, // Untuk menanyakan hanya jumlah baris yang memenuhi kondisi kueri tanpa data spesifik, atur parameter limit ke 0. 
        query: { // Atur tipe kueri ke TableStore.QueryType.TERM_QUERY. 
            queryType: TableStore.QueryType.TERM_QUERY,
            query: {
                fieldName: "Col_Keyword",
                term: "hangzhou"
            }
        },
        getTotalCount: true // Tentukan 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. 
    },
    columnToGet: { // Tentukan kolom-kolom yang ingin Anda kembalikan. Anda dapat mengatur parameter ini ke RETURN_SPECIFIED untuk mengembalikan kolom tertentu, RETURN_ALL untuk mengembalikan semua kolom, RETURN_ALL_FROM_INDEX untuk mengembalikan semua kolom dalam indeks pencarian, atau RETURN_NONE untuk mengembalikan hanya kolom kunci utama. 
        returnType: TableStore.ColumnReturnType.RETURN_ALL
    }
}, function (err, data) {
    if (err) {
        console.log('error:', err);
        return;
    }
    console.log('success:', JSON.stringify(data, null, 2));
});

FAQ

FAQ

Referensi

  • Berikut adalah tipe-tipe kueri yang didukung oleh indeks pencarian: kueri tepat, kueri terms, kueri match all, kueri match, kueri match phrase, kueri prefix, kueri range, kueri wildcard, kueri Boolean, kueri geo, kueri nested, kueri vector, dan kueri exists. Anda dapat memilih tipe kueri sesuai dengan kebutuhan bisnis Anda.

    Jika Anda ingin mengurutkan atau membagi halaman baris-baris yang memenuhi kondisi kueri, Anda dapat menggunakan fitur pengurutan dan paging. Untuk informasi lebih lanjut, lihat Pengurutan dan Paging.

    Jika Anda ingin meruntuhkan set hasil berdasarkan kolom tertentu, Anda dapat menggunakan fitur collapse (distinct). Dengan cara ini, data dari tipe yang ditentukan muncul hanya sekali dalam hasil kueri. Untuk informasi lebih lanjut, lihat Collapse (Distinct).

  • Jika Anda ingin menganalisis data dalam tabel data, seperti mendapatkan nilai ekstrem, jumlah total, dan jumlah baris, Anda dapat melakukan operasi agregasi atau menjalankan pernyataan SQL. Untuk informasi lebih lanjut, lihat Agregasi dan Kueri SQL.

  • Jika Anda ingin dengan cepat mendapatkan 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.