Menambahkan pemeriksaan ejaan ke kueri di Pencarian Azure AI (pratinjau)

Catatan

Pencarian Azure AI tersedia melalui portal Azure, REST API, dan Azure SDK. Ini juga mendukung Foundry IQ, lapisan pengetahuan terkelola yang mengubah konten perusahaan menjadi pangkalan pengetahuan yang dapat digunakan kembali dan sadar izin untuk agen di portal Microsoft Foundry.

Penting

Fitur, kemampuan, atau properti yang ditandai (pratinjau) tidak tercakup dalam perjanjian tingkat layanan, tidak disarankan untuk beban kerja produksi, dan mungkin berubah atau dibatasi sebelum tersedia secara umum. Ketentuan pratinjau Pencarian Azure AI berlaku untuk semua fungsionalitas pratinjau, baik itu mandiri atau bagian dari fitur yang tersedia secara umum.

Anda dapat meningkatkan pengenalan dengan mengoreksi ejaan kata dalam kueri sebelum mencapai mesin pencari. Parameter speller (pratinjau) didukung untuk semua jenis kueri teks (non-vektor) dan tersedia melalui portal Azure, REST API pratinjau, dan versi beta pustaka SDK Azure.

Prasyarat

  • Layanan pencarian di tingkat Dasar atau yang lebih tinggi, di wilayah mana pun.

  • Indeks pencarian yang sudah ada dengan konten dalam bahasa yang didukung.

  • Permintaan kueri yang memiliki speller=lexicon dan queryLanguage diatur ke bahasa yang didukung. Pemeriksaan ejaan berfungsi pada string-string yang diteruskan ke dalam parameter search. Ini tidak didukung untuk filter, pencarian fuzzy, pencarian wildcard, ekspresi reguler, atau kueri vektor.

Gunakan klien pencarian yang mendukung API pratinjau pada permintaan kueri. Anda dapat menggunakan klien REST atau rilis beta Azure SDK.

Pustaka klien Versi
REST API Versi 2020-06-30-Preview dan yang lebih baru. Kami merekomendasikan API pratinjau terbaru: pratinjau 2026-08-01
Azure SDK untuk .NET versi 11.7.0-beta.4
Azure SDK untuk Java versi 11.8.0-beta.7
Azure SDK untuk JavaScript versi 11.3.0-beta.8
Azure SDK untuk Python versi 11.6.0b12

Contoh berikut menggunakan indeks sampel hotel untuk menunjukkan koreksi ejaan pada kueri teks sederhana. Tanpa koreksi ejaan, kueri mengembalikan hasil nol. Dengan koreksi, kueri mengembalikan satu hasil untuk resor Johnson yang berorientasi keluarga.

POST https://[service name].search.windows.net/indexes/hotels-sample/docs/search?api-version=2026-08-01-preview
{
    "search": "famly acitvites",
    "speller": "lexicon",
    "queryLanguage": "en-us",
    "queryType": "simple",
    "select": "HotelId,HotelName,Description,Category,Tags",
    "count": true
}

Koreksi ejaan dengan Lucene penuh

Koreksi ejaan terjadi pada istilah kueri individual yang menjalani analisis teks, itulah sebabnya Anda bisa menggunakan parameter ejaan dengan beberapa kueri Lucene, tetapi tidak yang lain.

  • Formulir kueri yang tidak kompatibel yang melewati analisis teks meliputi: wildcard, regex, fuzzy
  • Jenis kueri yang kompatibel meliputi: pencarian berbasis bidang, pencarian kedekatan, peningkatan bobot istilah

Contoh ini menggunakan pencarian berbasis bidang pada bidang Kategori, dengan sintaks Lucene lengkap, dan istilah kueri yang salah eja. Dengan menyertakan pemeriksa ejaan, kesalahan ketik pada "Suiite" dikoreksi, sehingga membuat kueri berhasil.

POST https://[service name].search.windows.net/indexes/hotels-sample/docs/search?api-version=2026-08-01-preview
{
    "search": "Category:(Resort and Spa) OR Category:Suiite",
    "queryType": "full",
    "speller": "lexicon",
    "queryLanguage": "en-us",
    "select": "Category",
    "count": true
}

Koreksi ejaan dengan peringkat semantik

Kueri ini, dengan kesalahan ketik dalam setiap istilah kecuali satu, mengalami koreksi ejaan untuk mengembalikan hasil yang relevan. Untuk mempelajari selengkapnya, lihat Mengonfigurasi peringkat semantik.

POST https://[service name].search.windows.net/indexes/hotels-sample/docs/search?api-version=2026-08-01-preview
{
    "search": "hisotoric hotell wiht great restrant nad wiifi",
    "queryType": "semantic",
    "speller": "lexicon",
    "queryLanguage": "en-us",
    "searchFields": "HotelName,Tags,Description",
    "select": "HotelId,HotelName,Description,Category,Tags",
    "count": true
}

Bahasa yang didukung

Nilai yang valid untuk queryLanguage dapat ditemukan dalam tabel berikut, disalin dari daftar bahasa yang didukung (referensi REST API).

Bahasa queryLanguage
Inggris [EN] EN-Inggris, EN-AS (default)
Spanyol [ES] ES, ES-ES (bawaan)
Bahasa Prancis [FR] FR, FR-FR (bawaan)
Jerman [DE] DE, DE-DE (bawaan)
Belanda [NL] NL, NL-BE, NL-NL (bawaan)

Catatan

Sebelumnya, saat peringkat semantik itu sedang dalam tahap pratinjau, parameter queryLanguage juga digunakan untuk peringkat semantik. Peringkat semantik sekarang bersifat agnostik bahasa.

Pertimbangan penganalisis bahasa

Indeks yang berisi konten non-bahasa Inggris sering menggunakan penganalisis bahasa pada bidang non-bahasa Inggris untuk menerapkan aturan linguistik bahasa asli.

Saat menambahkan pemeriksaan ejaan ke konten yang juga mengalami analisis bahasa, Anda dapat mencapai hasil yang lebih baik menggunakan bahasa yang sama untuk setiap langkah pengindeksan dan pemrosesan kueri. Misalnya, jika konten bidang diindeks menggunakan penganalisis bahasa "fr.microsoft", maka kueri dan pemeriksaan ejaan semuanya harus menggunakan leksikon Prancis atau perpustakaan bahasa dalam bentuk apa pun.

Untuk merangkum bagaimana pustaka bahasa digunakan dalam Pencarian Azure AI:

  • Penganalisis bahasa dapat dipanggil selama pengindeksan dan eksekusi kueri, dan merupakan Apache Lucene (misalnya, "de.lucene") atau Microsoft ("de.microsoft).

  • Leksikon bahasa yang dipanggil selama pemeriksaan ejaan ditentukan menggunakan salah satu kode bahasa dalam tabel bahasa yang didukung .

Dalam permintaan kueri, nilai yang ditetapkan untuk queryLanguage diterapkan ke speller.

Catatan

Konsistensi bahasa di berbagai nilai properti hanya menjadi perhatian jika Anda menggunakan penganalisis bahasa. Jika Anda menggunakan penganalisis bahasa-agnostik (seperti kata kunci, sederhana, standar, berhenti, spasi kosong, atau standardasciifolding.lucene), maka queryLanguage nilainya bisa menjadi apa pun yang Anda inginkan.

Meskipun konten dalam indeks pencarian dapat disusun dalam beberapa bahasa, input kueri kemungkinan besar dalam satu bahasa. Mesin pencari tidak memeriksa kompatibilitas queryLanguage, penganalisis bahasa, dan bahasa tempat konten disusun, jadi pastikan untuk mencakup kueri yang sesuai untuk menghindari menghasilkan hasil yang salah.

Langkah berikutnya