Impor data di Azure AI Search
Di Pencarian Azure AI, kueri dijalankan melalui konten milik pengguna yang dimuat ke dalam indeks pencarian. Artikel ini menjelaskan dua alur kerja dasar untuk mengisi indeks: mendorong data Anda ke dalam indeks secara terprogram, atau menarik data menggunakan pengindeks pencarian.
Kedua pendekatan memuat dokumen dari sumber data eksternal. Meskipun Anda dapat membuat indeks kosong, indeks tersebut tidak dapat dikueri sampai Anda menambahkan konten.
Catatan
Jika pengayaan AI atau vektorisasi terintegrasi adalah persyaratan solusi, Anda harus menggunakan model penarikan (pengindeks) untuk memuat indeks. Set keterampilan melekat pada pengindeks dan tidak berjalan secara independen.
Mendorong data ke indeks
Model pendorongan adalah pendekatan yang menggunakan API untuk mengunggah dokumen ke dalam indeks pencarian yang ada. Anda dapat mengunggah dokumen satu per satu atau dalam batch hingga 1000 per batch, atau 16 MB per batch, batas mana pun yang lebih dulu.
Keuntungan utamanya meliputi:
Tidak ada batasan pada jenis sumber data. Payload harus terdiri dari dokumen JSON yang memetakan ke skema indeks Anda, tetapi data dapat bersumber dari mana saja.
Tidak ada batasan frekuensi eksekusi. Anda dapat mendorong perubahan ke indeks sesering yang Anda inginkan. Untuk aplikasi yang memiliki persyaratan latensi rendah (misalnya, ketika indeks perlu sinkron dengan fluktuasi inventarisasi produk), model pendorongan adalah satu-satunya opsi Anda.
Konektivitas dan pengambilan dokumen yang aman sepenuhnya berada di bawah kendali Anda. Sebaliknya, koneksi pengindeks diautentikasi menggunakan fitur keamanan yang disediakan di Azure AI Search.
Cara mendorong data ke indeks Pencarian Azure AI
Gunakan API berikut untuk memuat satu atau beberapa dokumen ke dalam indeks:
- Dokumen Indeks (REST API)
- IndexDocumentsAsync (Azure SDK untuk .NET) atau SearchIndexingBufferedSender
- IndexDocumentsBatch (Azure SDK for Python) atau SearchIndexingBufferedSender
- IndexDocumentsBatch (Azure SDK for Java) atau SearchIndexingBufferedSender
- IndexDocumentsBatch (Azure SDK untuk JavaScript atau SearchIndexingBufferedSender
Tidak ada dukungan untuk mendorong data melalui portal Azure.
Untuk pengenalan API pendorongan, lihat:
- Mulai cepat: Pencarian teks lengkap menggunakan Azure SDK
- Tutorial C#: Mengoptimalkan pengindeksan dengan API pendorongan
- Mulai Cepat REST: Membuat indeks Pencarian Azure AI menggunakan PowerShell
Tindakan pengindeksan: mengunggah, menggabungkan, mergeOrUpload, menghapus
Anda bisa mengontrol tipe tindakan pengindeksan berdasarkan per dokumen, menentukan apakah dokumen harus diunggah secara penuh, digabungkan dengan konten dokumen yang sudah ada, atau dihapus.
Baik Anda menggunakan REST API atau Azure SDK, operasi dokumen berikut ini didukung untuk impor data:
Unggah, mirip dengan "upsert" di mana dokumen disisipkan jika baru, dan diperbarui atau diganti jika ada. Jika dokumen kehilangan nilai yang diperlukan indeks, nilai bidang dokumen diatur ke null.
gabungkan pembaruan 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, jikatags
bidang dimulai dengan nilai["budget"]
dan Anda menjalankan penggabungan dengan["economy", "pool"]
, nilaitags
akhir bidang adalah["economy", "pool"]
. Ini tidak akan menjadi["budget", "economy", "pool"]
.mergeOrUpload berulah seperti penggabungan jika dokumen ada, dan unggah jika dokumen baru.
hapus menghapus seluruh dokumen dari indeks. Jika Anda ingin menghapus bidang individual, gunakan gabungkan sebagai gantinya, atur bidang yang bersangkutan ke null.
Menarik data ke dalam indeks
Model penarikan menggunakan pengindeks yang terhubung ke sumber data yang didukung, secara otomatis mengunggah data ke dalam indeks Anda. Pengindeks dari Microsoft tersedia untuk platform ini:
- Azure Blob Storage
- Azure Table Storage
- Azure Data Lake Storage Gen2
- Azure Files (pratinjau)
- Azure Cosmos DB
- Azure SQL Database, SQL Managed Instance, dan SQL Server di Azure VM
- File dan pintasan OneLake
- SharePoint Online (pratinjau)
Anda dapat menggunakan konektor pihak ketiga, yang dikembangkan dan dikelola oleh mitra Microsoft. Untuk informasi dan tautan selengkapnya, lihat Galeri sumber data.
Pengindeks menyambungkan indeks ke sumber data (biasanya tabel, tampilan, atau struktur yang setara), dan memetakan bidang sumber ke bidang yang setara dalam indeks. Selama eksekusi, rowset secara otomatis diubah menjadi JSON dan dimuat ke dalam indeks yang ditentukan. Semua pengindeks mendukung jadwal sehingga Anda dapat menentukan seberapa sering data akan di-refresh. Sebagian besar pengindeks menyediakan pelacakan perubahan jika sumber data mendukungnya. Dengan melacak perubahan dan menghapus dokumen yang ada selain mengenali dokumen baru, pengindeks menghapus kebutuhan untuk mengelola data secara aktif dalam indeks Anda.
Cara menarik data ke indeks Pencarian Azure AI
Gunakan alat dan API berikut untuk pengindeksan berbasis pengindeks:
- Wizard impor data atau Wizard impor dan vektorisasi data
- REST API: Buat Pengindeks (REST), Buat Sumber Data (REST), Buat Indeks (REST)
- Azure SDK untuk .NET: SearchIndexer, SearchIndexerDataSourceConnection, SearchIndex,
- Azure SDK untuk Python: SearchIndexer, SearchIndexerDataSourceConnection, SearchIndex,
- Azure SDK untuk Java: SearchIndexer, SearchIndexerDataSourceConnection, SearchIndex,
- Azure SDK untuk JavaScript: SearchIndexer, SearchIndexerDataSourceConnection, SearchIndex,
Fungsionalitas pengindeks diekspos dalam [portal Azure], REST API, dan .NET SDK.
Keuntungan menggunakan portal Azure adalah Azure AI Search biasanya dapat menghasilkan skema indeks default dengan membaca metadata himpunan data sumber.
Memverifikasi impor data denganpenjelajah Pencarian
Cara cepat untuk melakukan pemeriksaan awal pada unggahan dokumen adalah dengan menggunakan Penjelajah pencarian di portal Azure.
Penjelajah memungkinkan Anda mengkueri indeks tanpa harus menulis kode apa pun. Pengalaman pencarian didasarkan pada pengaturan default, seperti sintaks sederhana dan parameter kueri searchMode default. Hasil dikembalikan di JSON sehingga Anda dapat memeriksa seluruh dokumen.
Berikut adalah contoh kueri yang bisa Anda jalankan di Search Explorer dalam tampilan JSON. "HotelId" adalah kunci dokumen dari indeks sampel hotel. Filter menyediakan ID dokumen dari dokumen tertentu:
{
"search": "*",
"filter": "HotelId eq '50'"
}
Jika Anda menggunakan REST, kueri Pencarian ini mencapai tujuan yang sama.