All Products
Search
Document Center

Tablestore:Ringkasan dan penyorotan

Last Updated:Aug 12, 2026

Gunakan Tablestore SDK untuk Go guna mengembalikan fragmen teks dari bidang Text dan menandai kata kunci yang sesuai.

Prasyarat

Sebelum memulai, selesaikan persiapan berikut:

Deskripsi

Fitur ringkasan dan penyorotan mengekstraksi fragmen dari bidang Text yang sesuai dan menandai kata kunci yang cocok menggunakan tag yang telah dikonfigurasi. Tablestore SDK untuk Go mendukung penyorotan untuk kueri term, terms, prefix, wildcard, range, Boolean, constant score, match, match phrase, serta kueri bersarang (nested queries) melalui InnerHits.

Penting
  • Jika Anda menggunakan MatchQuery atau MatchPhraseQuery, sebuah kata kunci yang sesuai mungkin diapit oleh beberapa pasang pre-tag dan post-tag.

  • Jika tokenisasi semantik maksimum digunakan untuk bidang Text, MatchPhraseQuery tidak mendukung ringkasan dan penyorotan.

  • Batas fragmen mungkin memotong kata kunci yang sesuai. Dalam kasus tersebut, kata kunci tersebut tidak disorot.

highlight := search.NewHighlight().
    AddFieldHighlightParameter(
        "title",
        search.NewHighlightParameter().
            SetNumberOfFragments(3).
            SetPreTag("").
            SetPostTag(""),
    )

searchQuery := search.NewSearchQuery().
    SetQuery(&search.MatchQuery{FieldName: "title", Text: "go search"}).
    SetHighlight(highlight)

response, err := client.Search(&tablestore.SearchRequest{
    TableName:   "example_table",
    IndexName:   "example_index",
    SearchQuery: searchQuery,
})
if err != nil {
    log.Fatal(err)
}

for _, hit := range response.SearchHits {
    fmt.Println(hit.HighlightResultItem)
}

Parameter

Konfigurasi penyorotan

Nama

Type

Deskripsi

FieldHighlightParameters (wajib)

map[string]*search.HighlightParameter

Pemetaan antara nama bidang dan parameter penyorotan. Sebuah bidang harus memiliki fitur ringkasan dan penyorotan yang diaktifkan serta digunakan dalam kondisi kueri yang didukung. Jika tidak, tidak ada fragmen yang disorot yang dikembalikan untuk bidang tersebut.

HighlightEncoder (opsional)

*search.HighlightEncoder

Metode encoding untuk teks fragmen asli. Nilai yang valid:

  • PlainMode: mengembalikan teks asli. Ini adalah nilai default.

  • HtmlMode: melakukan escape karakter khusus HTML dan cocok untuk rendering langsung di halaman web. Karakter berikut akan di-escape:

    • < menjadi &lt;.

    • > menjadi &gt;.

    • " menjadi &quot;.

    • ' menjadi &#x27;.

    • / menjadi &#x2F;.

Parameter penyorotan per bidang

Nama

Tipe

Deskripsi

NumberOfFragments (opsional)

*int32

Jumlah maksimum fragmen yang dikembalikan. Nilai yang direkomendasikan: 1.

FragmentSize (opsional)

*int32

Panjang target setiap fragmen. Nilai default: 100. Panjang aktual fragmen mungkin berbeda.

PreTag (opsional)

*string

Tag yang disisipkan sebelum kata kunci yang sesuai. Nilai default: <em>. Tag ini mendukung karakter < > " ' /, huruf, dan angka.

PostTag (opsional)

*string

Tag yang disisipkan setelah kata kunci yang sesuai. Nilai default: </em>. Tag ini mendukung karakter < > " ' /, huruf, dan angka.

HighlightFragmentOrder (opsional)

*search.HighlightFragmentOrder

Urutan pengurutan fragmen. TextSequence mengurutkan fragmen berdasarkan posisinya dalam teks sumber dan merupakan nilai default. Score mengurutkan fragmen berdasarkan skor kecocokan.

Respons

Setelah penyorotan dikonfigurasi, baca fragmen bidang dari SearchResponse.SearchHits[].HighlightResultItem.HighlightFields. Untuk kueri bersarang, baca hasil penyorotan dari hit di SearchInnerHits.