Bagikan melalui


Perbarui Indeks (Azure AI Search REST API)

Memodifikasi indeks yang ada biasanya memerlukan penurunan dan pembangunan ulang indeks, kecuali untuk perubahan skema berikut:

  • Menambahkan bidang baru ke kumpulan bidang

  • Menambahkan bidang yang baru dibuat ke pemberi saran

  • Menambahkan atau mengubah profil penilaian

  • Menambahkan atau mengubah kunci enkripsi

  • Menambahkan penganalisis kustom baru

  • Ubah opsi CORS

  • Ubah bidang yang ada dengan salah satu dari tiga modifikasi ini:

    • Ubah retrievable (nilai benar atau salah)
    • Perubahan searchAnalyzer (digunakan pada waktu kueri)
    • Menambahkan atau mengubah synonymMaps (digunakan pada waktu kueri)

Untuk menambahkan pembaruan ini, masukkan nama indeks pada URI permintaan. Dalam isi permintaan, sertakan definisi indeks yang sepenuhnya ditentukan dengan modifikasi Anda.

PUT https://[search service name].search.windows.net/indexes/[index name]?api-version=[api-version]  
  Content-Type: application/json  
  api-key: [admin key]  

Bidang yang ada dan sebagian besar atribut bidang tidak dapat dihapus atau diubah, bidang juga tidak dapat ditambahkan ke pemberi saran. Hanya bidang yang baru dibuat yang dapat ditambahkan ke suggester.

Saat bidang baru ditambahkan, semua dokumen yang ada secara otomatis mendapatkan nilai null untuk bidang tersebut. Tidak ada ruang penyimpanan lain yang digunakan sampai salah satu dari dua hal terjadi: nilai disediakan untuk bidang baru (menggunakan penggabungan), atau dokumen baru ditambahkan.

Penganalisis, tokenizer, filter token, dan filter karakter yang ada tidak dapat diubah. Menambahkan yang baru ke indeks yang sudah ada hanya dimungkinkan ketika allowIndexDowntime bendera diaktifkan dalam permintaan pembaruan indeks. Aturan yang sama berlaku saat menambahkan bidang vektor awal ke indeks yang sudah ada sebelumnya yang dibuat menggunakan API yang tidak mendukung pencarian vektor, khususnya sebelum Pratinjau REST API versi 2023-07-01.

PUT https://[search service name].search.windows.net/indexes/[index name]?api-version=[api-version]&allowIndexDowntime=true

Operasi ini membuat indeks Anda offline selama beberapa detik. Permintaan pengindeksan dan kueri gagal saat indeks offline. Operasi performa dan tulis dapat terganggu sementara selama beberapa menit setelah indeks kembali online.

Parameter URI

Parameter Deskripsi
nama layanan Wajib diisi. Atur ini ke nama unik yang ditentukan pengguna dari layanan pencarian Anda.
nama indeks Wajib diisi. URI permintaan menentukan nama indeks yang akan diperbarui.
versi-api Wajib diisi. Lihat versi API untuk daftar versi yang didukung.
allowIndexDowntime Pilihan. Salah secara default. Atur ke true untuk pembaruan tertentu, seperti menambahkan atau memodifikasi penganalisis, tokenizer, filter token, filter karakter, atau properti kesamaan. Indeks diambil offline selama pembaruan, biasanya tidak lebih dari beberapa detik.

Judul Permintaan

Tabel berikut ini menjelaskan header permintaan yang diperlukan dan opsional.

Bidang Deskripsi
Jenis-Konten Wajib diisi. Atur titik akhir ini ke application/json
api-key Opsional jika Anda menggunakan peran Azure dan token pembawa disediakan berdasarkan permintaan, jika tidak, kunci diperlukan. Permintaan pembaruan harus menyertakan header yang api-key diatur ke kunci admin Anda (dibandingkan dengan kunci kueri). Lihat Menyambungkan ke Pencarian Azure AI menggunakan autentikasi kunci untuk detailnya.

Isi Permintaan

Sintaks isi permintaan sama dengan untuk Buat Indeks.

Saat Anda memperbarui indeks yang ada, isi harus menyertakan definisi skema lengkap, termasuk definisi asli yang ingin Anda pertahankan. Secara umum, pola terbaik untuk pembaruan adalah mengambil definisi indeks dengan GET, memodifikasinya, lalu memperbaruinya dengan PUT.

Respons

Untuk permintaan yang berhasil, Anda akan melihat "204 Tanpa Konten".

Secara default isi respons kosong. Namun, jika Prefer header permintaan diatur ke return=representation, isi respons berisi JSON dari indeks yang diperbarui. Dalam hal ini, kode status keberhasilan adalah "200 OK".

Lihat juga