All Products
Search
Document Center

Tablestore:Rangkuman dan penyorotan

Last Updated:Oct 09, 2026

Saat melakukan kueri data, Anda dapat mengatur parameter penyorotan untuk mengembalikan cuplikan teks yang berisi kueri pencarian dan menyoroti istilah tersebut. Fitur rangkuman dan penyorotan hanya didukung untuk bidang bertipe Text.

Prasyarat

Catatan

  • Fitur penyorotan kueri tersedia di Tablestore Node.js Software Development Kit (SDK) versi 5.5.0 dan yang lebih baru. Pastikan Anda menggunakan versi SDK yang kompatibel. Untuk informasi selengkapnya mengenai riwayat rilis Node.js SDK, lihat Riwayat rilis Node.js SDK.

  • Saat menggunakan fitur penyorotan kueri dengan MatchQuery atau MatchPhraseQuery, kueri pencarian mungkin disorot menggunakan beberapa pre-tag dan post-tag.

  • Jika bidang Text menggunakan tokenisasi semantik maksimum, fitur penyorotan kueri tidak didukung untuk MatchPhraseQuery.

  • Kueri pencarian mungkin tidak disorot jika sharding memisahkan kueri tersebut di dalam teks sumber.

Parameter

Parameter

Deskripsi

highlightEncoder

Metode pengkodean untuk konten asli fragmen yang disorot. Nilai yang valid:

  • PLAIN_MODE (default): Konten asli ditampilkan tanpa pengkodean.

  • HTML_MODE: Konten asli fragmen yang disorot di-escape dalam format HTML. Misalnya, < di-escape menjadi &lt;, > menjadi &gt;, " menjadi &quot;, ' menjadi &#x27;, dan / menjadi &#x2F;. Format ini direkomendasikan untuk tampilan web.

fieldHighlightParams

Parameter penyorotan untuk suatu bidang. Anda hanya dapat mengatur parameter ini untuk bidang yang termasuk dalam kueri kata kunci di dalam SearchQuery.

HighlightParameter

numberOfFragments

Jumlah maksimum fragmen yang disorot yang akan dikembalikan. Kami merekomendasikan mengatur nilai ini ke 1.

fragmentSize

Panjang setiap fragmen. Nilai default: 100.

Penting

Panjang fragmen yang dikembalikan mungkin tidak tepat sama dengan nilai ini.

preTag

Pre-tag untuk menyoroti kueri pencarian, seperti <em> atau <b>. Nilai default adalah <em>. Anda dapat menyesuaikan pre-tag sesuai kebutuhan. Set karakter yang didukung untuk `preTag` mencakup < > " ' /, a-z, A-Z, dan 0-9.

postTag

Post-tag untuk menyoroti kueri pencarian, seperti </em> atau </b>. Nilai default adalah </em>. Anda dapat menyesuaikan post-tag sesuai kebutuhan. Set karakter yang didukung untuk `postTag` mencakup < > " ' /, a-z, A-Z, dan 0-9.

highlightFragmentOrder

Aturan pengurutan fragmen saat beberapa fragmen dikembalikan untuk bidang yang disorot.

  • TEXT_SEQUENCE (default): Fragmen diurutkan berdasarkan urutan kemunculannya dalam teks.

  • SCORE: Fragmen diurutkan berdasarkan skor hasil temuan kueri pencarian.

Contoh

Contoh berikut menggunakan kueri cocok untuk mengambil baris di mana bidang description berisi kata kunci tablestore. Contoh ini membungkus istilah yang cocok dalam fragmen yang dikembalikan dengan <b> dan </b>. Bidang description merupakan bidang Text yang telah diaktifkan fitur rangkuman dan penyorotannya.

client.search({
    tableName: "<TABLE_NAME>",
    indexName: "<SEARCH_INDEX_NAME>",
    searchQuery: {
        offset: 0,
        limit: 10, // Untuk hanya mendapatkan jumlah baris tanpa data spesifik, atur limit ke 0. Ini mencegah pengembalian baris apa pun.
        query: { // Atur jenis kueri ke MatchQuery.
            queryType: TableStore.QueryType.MATCH_QUERY,
            query: {
                fieldName: "Col_Text", // Atur kolom yang akan dicocokkan.
                text: "hangzhou shanghai" // Atur nilai yang akan dicocokkan.
            }
        },
        highlight:{
            highlightEncoder:TableStore.HighlightEncoder.PLAIN_MODE,
            highlightParameters:[
                {
                    fieldName:"Col_Text",
                    preTag: "",
                    postTag: "",
                    fragmentsOrder: TableStore.HighlightFragmentOrder.TEXT_SEQUENCE,
                    fragmentSize: 20,
                    numberOfFragments: 3,
                }
                
            ],
        },
        getTotalCount: true // TotalCount dalam hasil menunjukkan jumlah total baris dalam tabel. Nilai default adalah false, yang berarti jumlah total tidak dikembalikan.
    },
    columnToGet: { // Kolom yang akan dikembalikan. Nilai yang valid: RETURN_SPECIFIED (kembalikan kolom kustom), RETURN_ALL (kembalikan semua kolom), RETURN_ALL_FROM_INDEX (kembalikan semua kolom dari indeks pencarian), dan RETURN_NONE (tidak kembalikan kolom apa pun).
        returnType: TableStore.ColumnReturnType.RETURN_ALL
    }
}, function (err, data) {
    if (err) {
        console.log('error:', err);
        return;
    }
    console.log('success:', JSON.stringify(data.rows, null, 2));
    printSearchHit(data.searchHits, "");
});


/**
 * Cetak konten searchHits.
 * @param searchHits Hasil pencarian.
 * @param prefix Awalan yang ditambahkan untuk struktur bersarang guna mencetak informasi hierarkis.
 */
function printSearchHit(searchHits, prefix) {
    TableStore.util.arrayEach(searchHits, function (searchHit) {
        if (searchHit.highlightResultItem != null) {
            console.log(prefix + "Highlight: \n");
            var strBuilder = ""
            for  (const [key,val]  of searchHit.highlightResultItem.highlightFields.entries()) {
                strBuilder += key + ":[";
                strBuilder += val.fragments.join(",") + "]\n";
                console.log(strBuilder);
            }
        }
        for  (const [key,val]  of searchHit.searchInnerHits.entries()) {
            console.log(prefix + "Path: " + key + "\n");
            console.log(prefix + "InnerHit: \n");
            printSearchHit(val.subSearchHits, prefix + "    ");
        }
    });
}

Referensi

  • Untuk informasi selengkapnya tentang fitur penyorotan kueri, lihat Rangkuman dan penyorotan.

  • Untuk informasi selengkapnya tentang penggunaan fitur penyorotan kueri dengan bidang bersarang, lihat Kueri bersarang.