Tingkatkan ke Azure Search .NET SDK versi 5

Jika Anda menggunakan pratinjau versi 4.0 atau yang lebih lama dari .NET SDK, artikel ini akan membantu Anda meningkatkan aplikasi Anda untuk menggunakan versi 5.

Untuk panduan SDK yang lebih umum termasuk contoh, lihat Cara menggunakan Azure Search dari Aplikasi .NET.

Versi 5 dari Azure Search .NET SDK berisi beberapa perubahan dari versi sebelumnya. Ini sebagian besar kecil, jadi mengubah kode Anda seharusnya hanya memerlukan upaya minimal. Lihat langkah-langkah untuk meningkatkan petunjuk tentang cara mengubah kode Anda untuk menggunakan versi SDK baru.

Nota

Jika Anda menggunakan pratinjau versi 2.0 atau yang lebih lama, Anda harus meningkatkan ke versi 3 terlebih dahulu, lalu meningkatkan ke versi 5. Lihat Pemutakhiran ke Azure Search .NET SDK versi 3 untuk instruksi.

Instans layanan Azure Search Anda mendukung beberapa versi REST API, termasuk yang terbaru. Anda dapat terus menggunakan versi saat tidak lagi versi terbaru, tetapi kami sarankan Anda memigrasikan kode Anda untuk menggunakan versi terbaru. Saat menggunakan REST API, Anda harus menentukan versi API di setiap permintaan melalui parameter versi api. Saat menggunakan .NET SDK, versi SDK yang Anda gunakan menentukan versi REST API yang sesuai. Jika Anda menggunakan SDK yang lebih lama, Anda dapat terus menjalankan kode tersebut tanpa perubahan bahkan jika layanan ditingkatkan untuk mendukung versi API yang lebih baru.

Apa yang baru dalam versi 5

Versi 5 dari Azure Search .NET SDK menargetkan versi terbaru yang tersedia secara umum dari Azure Search REST API, khususnya 2017-11-11. Ini memungkinkan untuk menggunakan fitur baru Azure Search dari aplikasi .NET, termasuk yang berikut ini:

  • Sinonim.
  • Anda sekarang dapat mengakses peringatan secara terprogram dalam riwayat eksekusi pengindeks (lihat properti WarningIndexerExecutionResult di referensi .NET untuk detail selengkapnya).
  • Dukungan untuk .NET Core 2.
  • Struktur paket baru mendukung penggunaan hanya bagian dari SDK yang Anda butuhkan (lihat Perubahan yang mengganggu dalam versi 5 untuk detailnya).

Langkah-langkah untuk peningkatan

Pertama, perbarui referensi NuGet Anda untuk Microsoft.Azure.Search menggunakan Konsol Manajer Paket NuGet atau dengan mengklik kanan referensi proyek Anda dan memilih "Kelola Paket NuGet..." di Visual Studio.

Setelah NuGet mengunduh paket baru dan dependensinya, bangun kembali proyek Anda. Bergantung pada bagaimana kode Anda disusun, kode tersebut mungkin berhasil dibangun kembali. Jika demikian, Anda siap untuk pergi!

Jika build gagal, Anda akan melihat build error seperti berikut ini:

The name 'SuggesterSearchMode' does not exist in the current context

Langkah selanjutnya adalah memperbaiki kesalahan build ini. Lihat perubahan besar di versi 5 untuk detail tentang apa yang menyebabkan kesalahan dan cara memperbaikinya.

Harap dicatat bahwa karena perubahan dalam kemasan Azure Search .NET SDK, Anda harus membangun kembali aplikasi Anda untuk menggunakan versi 5. Perubahan ini dirinci dalam Perubahan signifikan dalam versi 5.

Anda mungkin melihat peringatan build tambahan yang terkait dengan metode atau properti usang. Peringatan akan mencakup instruksi tentang apa yang harus digunakan alih-alih fitur yang tidak digunakan lagi. Misalnya, jika aplikasi Anda menggunakan metode IndexingParametersExtensions.DoNotFailOnUnsupportedContentType, Anda harus mendapatkan peringatan yang mengatakan "Perilaku ini sekarang diaktifkan secara default, jadi memanggil metode ini tidak lagi diperlukan."

Setelah memperbaiki kesalahan atau peringatan build, Anda dapat membuat perubahan pada aplikasi untuk memanfaatkan fungsionalitas baru jika mau. Fitur baru di SDK dirinci dalam Apa yang baru dalam versi 5.

Perubahan yang merusak dalam versi 5

Struktur Paket Baru

Perubahan yang paling substansial dalam versi 5 adalah bahwa assembly Microsoft.Azure.Search dan isinya telah dibagi menjadi empat assembly terpisah yang sekarang didistribusikan sebagai empat paket NuGet terpisah.

  • Microsoft.Azure.Search: Ini adalah paket meta yang mencakup semua paket Azure Search lainnya sebagai dependensi. Jika Anda memutakhirkan dari versi SDK yang lebih lama, cukup memperbarui paket ini dan mengompilasi ulang sudah cukup untuk mulai menggunakan versi baru.
  • Microsoft.Azure.Search.Data: Gunakan paket ini jika Anda mengembangkan aplikasi .NET menggunakan Azure Search, dan Anda hanya perlu mengkueri atau memperbarui dokumen dalam indeks Anda. Jika Anda juga perlu membuat atau memperbarui indeks, peta sinonim, atau sumber daya tingkat layanan lainnya, gunakan paket Microsoft.Azure.Search sebagai gantinya.
  • Microsoft.Azure.Search.Service: Gunakan paket ini jika Anda mengembangkan otomatisasi di .NET untuk mengelola indeks Azure Search, peta sinonim, pengindeks, sumber data, atau sumber daya tingkat layanan lainnya. Jika Anda hanya perlu mengkueri atau memperbarui dokumen dalam indeks Anda, gunakan paket Microsoft.Azure.Search.Data sebagai gantinya. Jika Anda memerlukan semua fungsionalitas Azure Search, gunakan paket Microsoft.Azure.Search sebagai gantinya.
  • Microsoft.Azure.Search.Common: Tipe umum yang diperlukan oleh pustaka Azure Search .NET. Anda tidak perlu menggunakan paket ini langsung di aplikasi Anda; Ini hanya dimaksudkan untuk digunakan sebagai dependensi.

Perubahan ini secara teknis melanggar karena banyak jenis dipindahkan di antara rakitan. Inilah sebabnya mengapa membangun kembali aplikasi Anda diperlukan untuk meningkatkan ke versi 5 SDK.

Ada sejumlah kecil perubahan signifikan lainnya dalam versi 5 yang mungkin memerlukan perubahan kode selain mengubah kembali aplikasi Anda.

Ubah ke Pemberi Saran

Konstruktor Suggester tidak lagi memiliki parameter enum untuk SuggesterSearchMode. Enum ini hanya memiliki satu nilai, dan oleh karena itu berlebihan. Jika Anda melihat kesalahan build sebagai akibat dari ini, cukup hapus referensi ke parameter SuggesterSearchMode.

Anggota usang yang dihapus

Anda mungkin melihat kesalahan build yang terkait dengan metode atau properti yang ditandai sebagai usang dalam versi sebelumnya dan kemudian dihapus di versi 5. Jika Anda mengalami kesalahan tersebut, berikut adalah cara mengatasinya:

  • Jika Anda menggunakan metode IndexingParametersExtensions.IndexStorageMetadataOnly, gunakan SetBlobExtractionMode(BlobExtractionMode.StorageMetadata) sebagai gantinya.
  • Jika Anda menggunakan metode IndexingParametersExtensions.SkipContent, gunakan SetBlobExtractionMode(BlobExtractionMode.AllMetadata) sebagai gantinya.

Fitur pratinjau yang dihapus

Jika Anda meningkatkan dari versi 4.0-pratinjau ke versi 5, ketahuilah bahwa dukungan untuk penguraian array JSON dan CSV pada Blob Indexer telah dihapus karena fitur-fitur ini masih dalam tahap pratinjau. Secara khusus, metode kelas IndexingParametersExtensions berikut telah dihapus:

  • ParseJsonArrays
  • ParseDelimitedTextFiles

Jika aplikasi Anda memiliki dependensi keras pada fitur-fitur ini, Anda tidak akan dapat meningkatkan ke versi 5 dari Azure Search .NET SDK. Anda dapat terus menggunakan versi 4.0-preview. Namun, perlu diingat bahwa kami tidak merekomendasikan penggunaan SDK pratinjau dalam aplikasi produksi. Fitur pratinjau hanya untuk evaluasi dan dapat berubah.

Kesimpulan

Jika Anda memerlukan detail lebih lanjut tentang cara menggunakan Azure Search .NET SDK, lihat panduan cara .NET .

Kami menyambut umpan balik Anda tentang SDK. Jika Anda mengalami masalah, jangan ragu untuk meminta bantuan kami pada Stack Overflow. Jika Anda menemukan bug, Anda dapat mengajukan masalah di repositori GitHub SDK .NET Azure. Pastikan untuk mengawali judul masalah Anda dengan "[Azure Search]".

Terima kasih telah menggunakan Azure Search!