Aracılığıyla paylaş


Azure Search .NET SDK sürüm 5'e yükseltme

.NET SDK'sının 4.0-preview veya daha eski bir sürümünü kullanıyorsanız, bu makale uygulamanızı sürüm 5'i kullanacak şekilde yükseltmenize yardımcı olur.

Örnekler de dahil olmak üzere SDK'nın daha genel bir kılavuzu için bkz. .NET Uygulamasından Azure Search'ü kullanma.

Azure Search .NET SDK'sının 5. sürümü önceki sürümlerden bazı değişiklikler içerir. Bunlar çoğunlukla küçük olduğundan kodunuzu değiştirmek için yalnızca en az çaba gerekir. Kodunuzu yeni SDK sürümünü kullanacak şekilde değiştirme yönergeleri için bkz. Yükseltme adımları .

Not

2.0-preview veya daha eski bir sürümü kullanıyorsanız, önce sürüm 3'e yükseltmeniz ve ardından sürüm 5'e yükseltmeniz gerekir. Yönergeler için bkz. Azure Search .NET SDK sürüm 3'e yükseltme .

Azure Arama hizmeti örneğiniz, en son sürüm de dahil olmak üzere çeşitli REST API sürümlerini destekler. Artık en son sürüm olmadığında bir sürümü kullanmaya devam edebilirsiniz, ancak kodunuzu en yeni sürümü kullanacak şekilde geçirmenizi öneririz. REST API'yi kullanırken, api-version parametresi aracılığıyla her istekte API sürümünü belirtmeniz gerekir. .NET SDK'sını kullanırken, kullandığınız SDK'nın sürümü REST API'nin ilgili sürümünü belirler. Daha eski bir SDK kullanıyorsanız, hizmet daha yeni bir API sürümünü destekleyecek şekilde yükseltildiğinde bile bu kodu hiçbir değişiklik olmadan çalıştırmaya devam edebilirsiniz.

Sürüm 5'teki yenilikler

Azure Search .NET SDK'sının 5. sürümü, Özellikle 2017-11-11 azure Search REST API'sinin genel kullanıma sunulan en son sürümünü hedefler. Bu, aşağıdakiler de dahil olmak üzere bir .NET uygulamasından Azure Search'ün yeni özelliklerini kullanmayı mümkün kılar:

  • Eş anlamlılar.
  • Artık dizin oluşturucu yürütme geçmişindeki uyarılara program aracılığıyla erişebilirsiniz (daha fazla ayrıntı için .NET başvurusundaki özelliğine IndexerExecutionResult bakınWarning).
  • .NET Core 2 desteği.
  • Yeni paket yapısı, SDK'nın yalnızca ihtiyacınız olan bölümlerinin kullanılmasını destekler (ayrıntılar için bkz. Sürüm 5'te hataya neden olan değişiklikler ).

Yükseltme adımları

İlk olarak, NuGet Paket Yöneticisi Konsolu'nu kullanmak için Microsoft.Azure.Search NuGet başvurunuzu güncelleştirin veya proje başvurularınıza sağ tıklayıp "NuGet Paketlerini Yönet..." öğesini seçin. Visual Studio.

NuGet yeni paketleri ve bağımlılıklarını indirdikten sonra projenizi yeniden derleyin. Kodunuzun nasıl yapılandırıldığına bağlı olarak, başarıyla yeniden derlenebilir. Öyleyse, başlamaya hazırsınız!

Derlemeniz başarısız olursa aşağıdakine benzer bir derleme hatası görmeniz gerekir:

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

Sonraki adım bu derleme hatasını düzeltmektir. Hataya neyin neden olduğu ve nasıl düzeltileceğinin ayrıntıları için bkz. Sürüm 5'te hataya neden olan değişiklikler.

Azure Search .NET SDK'sının paketlenmesindeki değişiklikler nedeniyle, sürüm 5'i kullanmak için uygulamanızı yeniden oluşturmanız gerektiğini lütfen unutmayın. Bu değişiklikler sürüm 5'teki hataya neden olan değişiklikler bölümünde ayrıntılı olarak yer alır.

Eski yöntemler veya özelliklerle ilgili ek derleme uyarıları görebilirsiniz. Uyarılar, kullanım dışı bırakılan özellik yerine nelerin kullanılacağına ilişkin yönergeler içerir. Örneğin, uygulamanız yöntemini kullanıyorsa IndexingParametersExtensions.DoNotFailOnUnsupportedContentType "Bu davranış artık varsayılan olarak etkinleştirildiğinden, bu yöntemi çağırmak artık gerekli değildir" şeklinde bir uyarı almanız gerekir.

Derleme hatalarını veya uyarılarını düzeltdikten sonra, isterseniz yeni işlevlerden yararlanmak için uygulamanızda değişiklikler yapabilirsiniz. SDK'daki yeni özellikler , Sürüm 5'teki yenilikler bölümünde ayrıntılı olarak açıklandı.

Sürüm 5'te hataya neden olan değişiklikler

Yeni Paket Yapısı

Sürüm 5'teki en önemli hataya neden olan değişiklik, derlemenin ve içeriğinin Microsoft.Azure.Search artık dört ayrı NuGet paketi olarak dağıtılan dört ayrı derlemeye bölünmesidir:

  • Microsoft.Azure.Search: Bu, diğer tüm Azure Search paketlerini bağımlılık olarak içeren bir meta pakettir. SDK'nın önceki bir sürümünden yükseltme yapıyorsanız, yeni sürümü kullanmaya başlamak için bu paketi yükseltmeniz ve yeniden derlemeniz yeterli olacaktır.
  • Microsoft.Azure.Search.Data: Azure Search kullanarak bir .NET uygulaması geliştiriyorsanız ve yalnızca dizinlerinizdeki belgeleri sorgulamanız veya güncelleştirmeniz gerekiyorsa bu paketi kullanın. Dizinleri, eş anlamlı eşlemeleri veya diğer hizmet düzeyi kaynaklarını da oluşturmanız veya güncelleştirmeniz gerekiyorsa, bunun yerine paketini kullanın Microsoft.Azure.Search .
  • Microsoft.Azure.Search.Service: Azure Search dizinlerini, eş anlamlı haritalarını, dizin oluşturucuları, veri kaynaklarını veya diğer hizmet düzeyi kaynaklarını yönetmek için .NET'te otomasyon geliştiriyorsanız bu paketi kullanın. Yalnızca dizinlerinizdeki belgeleri sorgulamanız veya güncelleştirmeniz gerekiyorsa, bunun yerine paketini kullanın Microsoft.Azure.Search.Data . Azure Search'ün tüm işlevlerine ihtiyacınız varsa bunun yerine paketini kullanın Microsoft.Azure.Search .
  • Microsoft.Azure.Search.Common: Azure Search .NET kitaplıkları için gereken yaygın türler. Bu paketi doğrudan uygulamanızda kullanmanız gerekmez; Yalnızca bağımlılık olarak kullanılması amaçlanır.

Birçok tür derlemeler arasında taşındığından bu değişiklik teknik olarak bozuk. Bu nedenle SDK'nın 5. sürümüne yükseltmek için uygulamanızı yeniden oluşturmanız gerekir.

Sürüm 5'te uygulamanızı yeniden derlemeye ek olarak kod değişiklikleri gerektirebilecek az sayıda hataya neden olan değişiklik vardır.

Önerenlere Dönüştür

Oluşturucunun Suggester artık için SuggesterSearchModebir enum parametresi yoktur. Bu sabit listesi yalnızca bir değere sahipti ve bu nedenle yedekliydi. Bunun sonucunda derleme hataları görürseniz parametre başvurularını SuggesterSearchMode kaldırmanız yeterlidir.

Eski üyeler kaldırıldı

Önceki sürümlerde kullanım dışı olarak işaretlenen ve daha sonra sürüm 5'te kaldırılan yöntemler veya özelliklerle ilgili derleme hataları görebilirsiniz. Bu tür hatalarla karşılaşırsanız bunları şu şekilde çözebilirsiniz:

  • yöntemini kullanıyorsanız IndexingParametersExtensions.IndexStorageMetadataOnly , bunun yerine kullanın SetBlobExtractionMode(BlobExtractionMode.StorageMetadata) .
  • yöntemini kullanıyorsanız IndexingParametersExtensions.SkipContent , bunun yerine kullanın SetBlobExtractionMode(BlobExtractionMode.AllMetadata) .

Önizleme özellikleri kaldırıldı

Sürüm 4.0-preview'dan sürüm 5'e yükseltiyorsanız, bu özellikler önizleme aşamasında olduğundan Blob Dizin Oluşturucuları için JSON dizisi ve CSV ayrıştırma desteğinin kaldırıldığını unutmayın. Özellikle, sınıfının aşağıdaki yöntemleri IndexingParametersExtensions kaldırıldı:

  • ParseJsonArrays
  • ParseDelimitedTextFiles

Uygulamanızın bu özelliklere sıkı bir bağımlılığı varsa, Azure Search .NET SDK'sının 5. sürümüne yükseltemezsiniz. 4.0-preview sürümünü kullanmaya devam edebilirsiniz. Ancak, üretim uygulamalarında önizleme SDK'larını kullanmanızı önermememizi lütfen unutmayın. Önizleme özellikleri yalnızca değerlendirme içindir ve değişebilir.

Sonuç

Azure Search .NET SDK'sını kullanma hakkında daha fazla ayrıntıya ihtiyacınız varsa bkz. .NET Nasıl Yapılır.

SDK ile ilgili geri bildirimlerinizi bekliyoruz. Sorunlarla karşılaşırsanız , Stack Overflow hakkında yardım isteyebilirsiniz. Bir hata bulursanız Azure .NET SDK GitHub deposunda bir sorun bildirebilirsiniz. Sorun başlığınıza "[Azure Search]" ön ekini eklemeyi unutmayın.

Azure Search'i kullandığınız için teşekkür ederiz!