Mengonfigurasi peringkat semantik dan mengembalikan keterangan dalam hasil pencarian

Dalam artikel ini, pelajari cara memanggil peringkat semantik atas kumpulan hasil, mempromosikan hasil yang paling relevan secara semantik ke bagian atas tumpukan. Anda juga bisa mendapatkan keterangan semantik, dengan sorotan atas istilah dan frasa yang paling relevan, dan jawaban semantik.

Prasyarat

  • Layanan pencarian pada tingkat Dasar, Standar (S1, S2, S3), atau tingkat Yang Dioptimalkan Penyimpanan (L1, L2), tergantung ketersediaan wilayah.

  • Peringkat semantik diaktifkan pada layanan pencarian Anda.

  • Indeks pencarian yang sudah ada dengan konten teks kaya. Peringkat semantik berlaku untuk bidang teks (nonvector) dan berfungsi paling baik pada konten yang bersifat informasi atau deskriptif.

Memilih klien

Pilih klien pencarian yang mendukung peringkat semantik. Berikut ini adalah beberapa opsi:

Menambahkan konfigurasi semantik

Konfigurasi semantik adalah bagian dalam indeks Anda yang menetapkan input bidang untuk peringkat semantik. Anda dapat menambahkan atau memperbarui konfigurasi semantik kapan saja, tidak perlu membangun kembali. Jika Membuat beberapa konfigurasi, Anda dapat menentukan default. Pada waktu kueri, tentukan konfigurasi semantik pada permintaan kueri, atau biarkan kosong untuk menggunakan default.

Konfigurasi semantik memiliki nama dan properti berikut:

Properti Karakteristik
Bidang judul String pendek, idealnya di bawah 25 kata. Bidang ini bisa berupa judul dokumen, nama produk, atau pengidentifikasi unik. Jika Anda tidak memiliki bidang yang sesuai, biarkan bidang kosong.
Bidang konten Potongan teks yang lebih panjang dalam bentuk bahasa alami, tunduk pada batas input token maksimum pada model pembelajaran mesin. Contoh umum termasuk isi dokumen, deskripsi produk, atau teks bentuk bebas lainnya.
Bidang kata kunci Daftar kata kunci, seperti tag pada dokumen, atau istilah deskriptif, seperti kategori item.

Anda hanya bisa menentukan satu bidang judul, tetapi Anda bisa memiliki bidang konten dan kata kunci sebanyak yang Anda inginkan. Untuk bidang konten dan kata kunci, cantumkan bidang dalam urutan prioritas karena bidang prioritas yang lebih rendah mungkin terpotong.

Di semua properti konfigurasi semantik, bidang yang Anda tetapkan harus:

  • Diatribusikan sebagai searchable dan retrievable
  • String jenis Edm.String, Collection(Edm.String), subbidang string dari Collection(Edm.ComplexType)
  1. Masuk ke portal Azure dan navigasikan ke layanan pencarian yang mengaktifkan peringkat semantik.

  2. Dari Indeks di panel navigasi kiri, buka indeks.

  3. Pilih Konfigurasi Semantik lalu pilih Tambahkan Konfigurasi Semantik.

    Halaman Konfigurasi Semantik Baru terbuka dengan opsi untuk memilih bidang judul, bidang konten, dan bidang kata kunci. Hanya bidang string yang dapat dicari dan dapat diambil yang memenuhi syarat. Pastikan untuk mencantumkan bidang konten dan bidang kata kunci dalam urutan prioritas.

    Screenshot that shows how to create a semantic configuration in the Azure portal.

    Pilih OK untuk menyimpan perubahan.

Migrasi dari versi pratinjau

Jika kode peringkat semantik Anda menggunakan API pratinjau, bagian ini menjelaskan cara bermigrasi ke versi yang stabil. Anda dapat memeriksa log perubahan untuk verifikasi ketersediaan umum:

Perubahan perilaku:

  • Pada 14 Juli 2023, peringkat semantik adalah agnostik bahasa. Ini dapat mererank hasil yang terdiri dari konten multibahasa, tanpa bias terhadap bahasa tertentu. Dalam versi pratinjau, peringkat semantik akan memisahkan hasil yang berbeda dari bahasa yang ditentukan oleh penganalisis bidang.

  • Dalam Pratinjau 2021-04-30 dan semua versi yang lebih baru, untuk REST API dan semua paket SDK yang menargetkan versi yang sama: semanticConfiguration (dalam definisi indeks) menentukan bidang pencarian mana yang digunakan dalam peringkat semantik. Sebelumnya dalam REST API Pratinjau 2020-06-30, searchFields (dalam permintaan kueri) digunakan untuk spesifikasi dan prioritas bidang. Pendekatan ini hanya berfungsi di 2020-06-30-Preview dan usang di semua versi lainnya.

Langkah 1: Hapus queryLanguage

Mesin peringkat semantik sekarang agnostik bahasa. Jika queryLanguage ditentukan dalam logika kueri Anda, itu tidak lagi digunakan untuk peringkat semantik, tetapi masih berlaku untuk koreksi ejaan.

Pertahankan queryLanguage jika Anda menggunakan ejaan, dan jika nilai bahasa didukung oleh ejaan. Pemeriksaan ejaan memiliki ketersediaan terbatas di seluruh bahasa.

Jika tidak, hapus queryLanguage.

Langkah 2: Ganti searchFields dengan semanticConfiguration

Jika kode Anda memanggil paket REST API pratinjau 2020-06-30 atau paket SDK beta yang menargetkan versi REST API, Anda mungkin menggunakan searchFields dalam permintaan kueri untuk menentukan bidang dan prioritas semantik. Dalam versi beta awal, searchFields memiliki tujuan ganda, membatasi kueri awal ke bidang yang tercantum di searchFields, dan juga mengatur prioritas bidang jika peringkat semantik digunakan. Dalam versi yang lebih baru, searchFields mempertahankan tujuan aslinya, tetapi tidak lagi digunakan untuk peringkat semantik.

Simpan searchFields dalam permintaan kueri jika Anda menggunakannya untuk membatasi pencarian teks lengkap ke daftar bidang bernama.

semanticConfiguration Tambahkan ke skema indeks untuk menentukan prioritas bidang, mengikuti instruksi dalam artikel ini.

Langkah berikutnya

Uji konfigurasi semantik Anda dengan menjalankan kueri semantik.