全部产品
Search
文档中心

Tablestore:Sorot hasil query

更新时间:Jul 02, 2025

Ketika Anda menginisiasi permintaan query, Anda dapat mengaktifkan fitur sorot. Dalam hal ini, kata kunci dalam hasil yang memenuhi kondisi query akan disorot. Hanya bidang Teks yang mendukung fitur sorot.

Prasyarat

Catatan Penggunaan

  • Hanya Tablestore SDK for Python 6.0.0 atau versi lebih baru yang menyediakan fitur sorot. Sebelum menggunakan fitur sorot, kami sarankan Anda menginstal versi terbaru dari Tablestore SDK for Python. Untuk informasi tentang versi Tablestore SDK for Python, lihat Riwayat Versi Tablestore SDK for Python.

  • Jika Anda mengaktifkan fitur sorot dalam query cocok (match query) atau query frasa cocok (match phrase query), kata kunci dalam hasil query akan disorot menggunakan beberapa tag pembuka (pre_tag) dan tag penutup (post_tag).

  • Jika metode tokenisasi bidang Teks adalah tokenisasi berbasis unit semantik maksimum (MaxWord), fitur sorot tidak didukung ketika Anda melakukan query frasa cocok pada bidang Teks.

  • Jika kata kunci dalam query dipisahkan, kata kunci tersebut mungkin tidak disorot sesuai harapan.

Parameter

Parameter

Deskripsi

highlight_encoder

Metode penyandian fragmen teks yang disorot. Nilai valid:

  • PLAIN (default): menampilkan fragmen teks yang disorot tanpa perlu penyandian.

  • HTML_MODE: melakukan penyandian HTML pada fragmen teks yang disorot. Setelah penyandian HTML selesai, < dikonversi menjadi &lt;, > menjadi &gt;, " menjadi &quot;, ' menjadi &#x27;, dan / menjadi &#x2F;. Jika Anda ingin menampilkan halaman web, kami sarankan Anda menggunakan format HTML.

highlight

Pengaturan sorotan untuk bidang. Anda hanya dapat mengaktifkan fitur sorot untuk bidang yang berisi kata kunci yang ditentukan dalam objek SearchQuery.

highlight_parameters

number_of_fragments

Jumlah maksimum fragmen teks yang disorot yang ingin Anda kembalikan. Kami sarankan Anda mengatur parameter ini ke 1.

fragment_size

Panjang setiap fragmen teks yang ingin Anda kembalikan. Nilai default: 100.

Penting

Panjang aktual dari fragmen teks yang dikembalikan mungkin berbeda dari nilai parameter ini.

pre_tag

Tag pembuka yang digunakan untuk menyorot kata kunci query. Contoh: <em> dan <b>. Nilai default: <em>. Anda dapat menentukan tag pembuka berdasarkan kebutuhan bisnis Anda. Parameter preTag mendukung set karakter berikut: < > " ' /, a-z, A-Z, dan 0-9.

post_tag

Tag penutup yang digunakan untuk menyorot kata kunci query. Contoh: </em> dan </b>. Nilai default: <em>. Anda dapat menentukan tag penutup berdasarkan kebutuhan bisnis Anda. Parameter postTag mendukung set karakter berikut: < > " ' /, a-z, A-Z, dan 0-9.

fragments_order

Aturan pengurutan fragmen teks yang disorot yang ingin Anda kembalikan.

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

  • SCORE: Fragmen teks yang disorot diurutkan berdasarkan skor kata kunci yang cocok.

Contoh

Berikut ini adalah contoh kode sampel tentang cara menggunakan fitur MatchQuery untuk menanyakan data yang cocok dengan hangzhou shanghai dari bidang Col_Text dan menyorot kata kunci dalam hasil query. Dalam contoh ini, bidang Col_Text bertipe Teks.

def match_query_with_highlight(client):
    query = MatchQuery('Col_Text', 'hangzhou shanghai')
    highlight_parameter = HighlightParameter('Col_Text',None,None,pre_tag='')
    highlight_clause = Highlight([highlight_parameter],HighlightEncoder.PLAIN_MODE)
    search_response = client.search(
        '<TABLE_NAME>', '<SEARCH_INDEX_NAME>',
        SearchQuery(query, limit=100, get_total_count=True,highlight=highlight_clause),
        ColumnsToGet(return_type=ColumnReturnType.ALL)
    )
    print('----- Cetak Hasil Sorot:')
    search_hits = search_response.search_hits
    print('jumlah hit pencarian:%d' % len(search_hits))

    for search_hit in search_hits:
        print('\t skor adalah %.6f' % search_hit.score)
        for highlight_field in search_hit.highlight_result.highlight_fields:
            print('\t\t sorot:%s:%s' % (highlight_field.field_name, highlight_field.field_fragments))

    print('********** Akhir HighlightQuery **********')

Referensi

  • Untuk informasi tentang fitur highlight, lihat Highlight Keywords.

  • Untuk informasi tentang cara menggunakan fitur highlight saat Anda melakukan query pada field bersarang, lihat Nested Query.