Bagikan melalui


Memuat data ke dalam indeks pencarian di Azure AI Search

Artikel ini menjelaskan cara mengimpor dokumen ke dalam indeks pencarian yang telah ditentukan sebelumnya. Di Pencarian Azure AI, indeks pencarian dibuat terlebih dahulu dengan impor data berikut sebagai langkah kedua. Pengecualiannya adalah Wizard impor di portal dan alur pengindeks, yang membuat dan memuat indeks dalam satu alur kerja.

Cara kerja impor data

Layanan pencarian menerima dokumen JSON yang sesuai dengan skema indeks. Layanan pencarian mengimpor dan mengindeks teks biasa dan vektor di JSON, digunakan dalam pencarian teks lengkap, pencarian vektor, pencarian hibrid, dan skenario penambangan pengetahuan.

  • Konten teks biasa dapat diperoleh dari bidang alfanumerik di sumber data eksternal, metadata yang berguna dalam skenario pencarian, atau konten yang diperkaya yang dibuat oleh set keterampilan (keterampilan dapat mengekstrak atau menyimpulkan deskripsi tekstual dari gambar dan konten yang tidak terstruktur).

  • Konten vektor di-vektorisasi menggunakan model penyematan eksternal atau vektorisasi terintegrasi (pratinjau) menggunakan fitur Azure AI Search yang terintegrasi dengan AI yang diterapkan.

Anda dapat menyiapkan dokumen ini sendiri, tetapi jika konten berada di sumber data yang didukung, menjalankan pengindeks atau menggunakan wizard Impor dapat mengotomatiskan pengambilan dokumen, serialisasi JSON, dan pengindeksan.

Setelah data diindeks, struktur data fisik indeks dikunci. Untuk panduan tentang apa yang dapat dan tidak dapat diubah, lihat Memperbarui dan membangun kembali indeks.

Pengindeksan bukan proses latar belakang. Layanan pencarian akan menyeimbangkan beban kerja pengindeksan dan kueri, tetapi jika latensi kueri terlalu tinggi, Anda dapat menambahkan kapasitas atau mengidentifikasi periode aktivitas kueri rendah untuk memuat indeks.

Untuk informasi selengkapnya, lihat Strategi impor data.

Menggunakan portal Azure

Di portal Azure, gunakan wizard impor untuk membuat dan memuat indeks dalam alur kerja yang mulus. Jika Anda ingin memuat indeks yang ada, pilih pendekatan alternatif.

  1. Masuk ke portal Azure dengan akun Azure Anda dan temukan layanan pencarian Anda.

  2. Pada halaman Gambaran Umum, pilih Impor data atau Impor dan vektorisasi data pada bilah perintah untuk membuat dan mengisi indeks pencarian.

    Cuplikan layar perintah Impor data

    Anda dapat mengikuti tautan ini untuk meninjau alur kerja: Mulai Cepat: Membuat indeks Pencarian Azure AI dan Mulai Cepat: Vektorisasi terintegrasi (pratinjau).

  3. Setelah panduan selesai, gunakan Search Explorer untuk memeriksa hasil.

Tip

Wizard impor membuat dan menjalankan pengindeks. Jika pengindeks sudah ditentukan, Anda dapat mengatur ulang dan menjalankan pengindeks dari portal Azure, yang berguna jika Anda menambahkan bidang secara bertahap. Reset memaksa pengindeks untuk memulai kembali, mengambil semua bidang dari semua dokumen sumber.

Menggunakan REST API

Dokumen - Indeks adalah REST API untuk mengimpor data ke dalam indeks pencarian. REST API berguna untuk pengujian bukti konsep awal, di mana Anda dapat menguji alur kerja pengindeksan tanpa harus menulis banyak kode. Parameter @search.action menentukan apakah dokumen ditambahkan secara penuh, atau sebagian dalam hal nilai baru atau penggantian untuk bidang tertentu.

Mulai cepat: Pencarian teks menggunakan REST menjelaskan langkah-langkahnya. Contoh berikut adalah versi contoh yang dimodifikasi. Ini telah dipangkas untuk brevity dan nilai HotelId pertama telah diubah untuk menghindari penimpaan dokumen yang ada.

  1. Rumuskan panggilan POST yang menentukan nama indeks, titik akhir "docs/index", dan isi permintaan yang menyertakan @search.action parameter .

    POST https://[service name].search.windows.net/indexes/hotels-sample-index/docs/index?api-version=2023-11-01
    Content-Type: application/json   
    api-key: [admin key] 
    {
        "value": [
        {
        "@search.action": "upload",
        "HotelId": "1111",
        "HotelName": "Secret Point Motel",
        "Description": "The hotel is ideally located on the main commercial artery of the city in the heart of New York. A few minutes away is Time's Square and the historic centre of the city, as well as other places of interest that make New York one of America's most attractive and cosmopolitan cities.",
        "Category": "Boutique",
        "Tags": [ "pool", "air conditioning", "concierge" ]
        },
        {
        "@search.action": "mergeOrUpload",
        "HotelId": "2",
        "HotelName": "Twin Dome Motel",
        "Description": "This is description is replacing the original one for this hotel. New and changed values overwrite the previous ones. In a comma-delimited list like Tags, be sure to provide the full list because there is no merging of values within the field itself.",
        "Category": "Boutique",
        "Tags": [ "pool", "free wifi", "concierge", "my first new tag", "my second new tag" ]
        }
      ]
    }
    
  2. Atur @search.action parameter ke upload untuk membuat atau menimpa dokumen. Atur ke merge atau uploadOrMerge jika Anda menargetkan pembaruan ke bidang tertentu dalam dokumen. Contoh sebelumnya menunjukkan kedua tindakan.

    Perbuatan Efek
    gabungkan Memperbarui dokumen yang sudah ada, dan gagal dokumen yang tidak dapat ditemukan. Gabung menggantikan nilai yang ada. Untuk alasan ini, pastikan untuk memeriksa bidang koleksi yang berisi beberapa nilai, seperti bidang jenis Collection(Edm.String). Misalnya, jika tags bidang dimulai dengan nilai ["budget"] dan Anda menjalankan penggabungan dengan ["economy", "pool"], nilai tags akhir bidang adalah ["economy", "pool"]. Ini tidak akan menjadi ["budget", "economy", "pool"].
    mergeOrUpload Berulah seperti gabungkan jika dokumen ada, dan unggah jika dokumen baru. Ini adalah tindakan paling umum untuk pembaruan inkremental.
    unggah Mirip dengan "upsert" di mana dokumen disisipkan jika dokumen baru, dan diperbarui atau diganti jika ada. Jika dokumen kehilangan nilai yang diperlukan indeks, nilai bidang dokumen diatur ke null.
  3. Kirim permintaan.

  4. Cari dokumen yang baru saja Anda tambahkan sebagai langkah validasi:

    GET https://[service name].search.windows.net/indexes/hotel-sample-index/docs/1111?api-version=2023-11-01
    

Ketika kunci dokumen atau ID baru, null menjadi nilai untuk bidang apa pun yang tidak ditentukan dalam dokumen. Untuk tindakan pada dokumen yang sudah ada, nilai yang diperbarui akan menggantikan nilai sebelumnya. Bidang apa pun yang tidak ditentukan dalam "gabungkan" atau "mergeUpload" dibiarkan utuh dalam indeks pencarian.

Menggunakan Azure SDK

Kemampuan pemrograman disediakan dalam Azure SDK berikut.

Azure SDK untuk .NET menyediakan API berikut untuk pengunggahan dokumen sederhana dan massal ke dalam indeks:

Ada beberapa sampel yang menggambarkan pengindeksan dalam konteks pengindeksan skala sederhana dan besar:

Lihat juga