Udostępnij za pośrednictwem


Uaktualnianie do zestawu .NET SDK usługi Azure Search w wersji 5

Jeśli używasz wersji 4.0-preview lub starszej zestawu .NET SDK, ten artykuł pomoże Ci uaktualnić aplikację do korzystania z wersji 5.

Aby zapoznać się z bardziej ogólnym przewodnikiem po zestawie SDK, w tym przykładami, zobacz How to use Azure Search from a .NET Application (Jak używać usługi Azure Search z poziomu aplikacji .NET).

Wersja 5 zestawu .NET SDK usługi Azure Search zawiera pewne zmiany z wcześniejszych wersji. Są one głównie niewielkie, więc zmiana kodu powinna wymagać jedynie minimalnego nakładu pracy. Zobacz Kroki uaktualniania, aby uzyskać instrukcje dotyczące zmiany kodu w celu korzystania z nowej wersji zestawu SDK.

Uwaga

Jeśli używasz wersji 2.0-preview lub starszej, najpierw należy przeprowadzić uaktualnienie do wersji 3, a następnie przeprowadzić uaktualnienie do wersji 5. Aby uzyskać instrukcje, zobacz Uaktualnianie do zestawu .NET SDK usługi Azure Search w wersji 3 .

Wystąpienie usługi Azure usługa wyszukiwania obsługuje kilka wersji interfejsu API REST, w tym najnowsze. Możesz nadal używać wersji, gdy nie jest już najnowsza, ale zalecamy przeprowadzenie migracji kodu w celu korzystania z najnowszej wersji. W przypadku korzystania z interfejsu API REST należy określić wersję interfejsu API w każdym żądaniu za pomocą parametru api-version. W przypadku korzystania z zestawu SDK platformy .NET używana wersja zestawu SDK określa odpowiednią wersję interfejsu API REST. Jeśli używasz starszego zestawu SDK, możesz nadal uruchamiać ten kod bez żadnych zmian, nawet jeśli usługa zostanie uaktualniona do obsługi nowszej wersji interfejsu API.

Co nowego w wersji 5

Wersja 5 zestawu .NET SDK usługi Azure Search jest przeznaczona dla najnowszej ogólnie dostępnej wersji interfejsu API REST usługi Azure Search, w szczególności 2017-11-11. Dzięki temu można korzystać z nowych funkcji usługi Azure Search z poziomu aplikacji .NET, w tym następujących:

  • Synonimy.
  • Teraz można programowo uzyskiwać dostęp do ostrzeżeń w historii wykonywania indeksatora (zobacz Warning właściwość IndexerExecutionResult w dokumentacji platformy .NET , aby uzyskać więcej informacji).
  • Obsługa platformy .NET Core 2.
  • Nowa struktura pakietów obsługuje używanie tylko potrzebnych części zestawu SDK (zobacz Istotne zmiany w wersji 5 , aby uzyskać szczegółowe informacje).

Kroki uaktualniania

Najpierw zaktualizuj odwołanie do NuGet przy Microsoft.Azure.Search użyciu konsoli NuGet Menedżer pakietów lub klikając prawym przyciskiem myszy odwołania do projektu i wybierając pozycję "Zarządzaj pakietami NuGet..." w Visual Studio.

Po NuGet pobrać nowe pakiety i ich zależności ponownie skompiluj projekt. W zależności od struktury kodu może ona zostać pomyślnie ponownie skompilowana. Jeśli tak, możesz zacząć!

Jeśli kompilacja zakończy się niepowodzeniem, powinien zostać wyświetlony błąd kompilacji podobny do następującego:

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

Następnym krokiem jest naprawienie tego błędu kompilacji. Zobacz Zmiany powodujące niezgodność w wersji 5 , aby uzyskać szczegółowe informacje na temat przyczyn błędu i sposobu jego naprawy.

Należy pamiętać, że ze względu na zmiany w opakowaniu zestawu .NET SDK usługi Azure Search należy ponownie skompilować aplikację, aby korzystać z wersji 5. Te zmiany zostały szczegółowo opisane w artykule Istotne zmiany w wersji 5.

Mogą zostać wyświetlone dodatkowe ostrzeżenia kompilacji związane z przestarzałymi metodami lub właściwościami. Ostrzeżenia będą zawierać instrukcje dotyczące sposobu użycia zamiast przestarzałej funkcji. Jeśli na przykład aplikacja używa IndexingParametersExtensions.DoNotFailOnUnsupportedContentType metody , powinien zostać wyświetlone ostrzeżenie z informacją "To zachowanie jest teraz domyślnie włączone, więc wywołanie tej metody nie jest już konieczne".

Po usunięciu błędów kompilacji lub ostrzeżeń możesz wprowadzić zmiany w aplikacji, aby skorzystać z nowych funkcji, jeśli chcesz. Nowe funkcje w zestawie SDK są szczegółowo opisane w artykule Co nowego w wersji 5.

Istotne zmiany w wersji 5

Nowa struktura pakietu

Najbardziej znaczącą zmianą powodującą niezgodność w wersji 5 jest to, że Microsoft.Azure.Search zestaw i jego zawartość zostały podzielone na cztery oddzielne zestawy, które są teraz dystrybuowane jako cztery oddzielne pakiety NuGet:

  • Microsoft.Azure.Search: jest to metapakiet zawierający wszystkie inne pakiety usługi Azure Search jako zależności. W przypadku uaktualniania z wcześniejszej wersji zestawu SDK po prostu uaktualnienie tego pakietu i ponowne kompilowanie powinno wystarczyć, aby rozpocząć korzystanie z nowej wersji.
  • Microsoft.Azure.Search.Data: Użyj tego pakietu, jeśli tworzysz aplikację .NET przy użyciu usługi Azure Search i musisz wykonywać zapytania o dokumenty lub aktualizować je tylko w indeksach. Jeśli musisz również utworzyć lub zaktualizować indeksy, mapy synonimów lub inne zasoby na poziomie usługi, użyj Microsoft.Azure.Search pakietu.
  • Microsoft.Azure.Search.Service: Użyj tego pakietu, jeśli tworzysz automatyzację na platformie .NET, aby zarządzać indeksami usługi Azure Search, mapami synonimów, indeksatorami, źródłami danych lub innymi zasobami na poziomie usługi. Jeśli musisz wykonywać zapytania o dokumenty lub aktualizować je tylko w indeksach, użyj Microsoft.Azure.Search.Data pakietu. Jeśli potrzebujesz wszystkich funkcji usługi Azure Search, użyj Microsoft.Azure.Search pakietu.
  • Microsoft.Azure.Search.Common: typowe typy wymagane przez biblioteki platformy .NET usługi Azure Search. Nie należy używać tego pakietu bezpośrednio w aplikacji; Jest ona przeznaczona tylko do użycia jako zależność.

Ta zmiana jest technicznie istotna, ponieważ wiele typów zostało przeniesionych między zestawami. Dlatego ponowne kompilowanie aplikacji jest konieczne w celu uaktualnienia do wersji 5 zestawu SDK.

Istnieje niewielka liczba innych zmian powodujących niezgodność w wersji 5, które mogą wymagać zmian kodu oprócz ponownego kompilowania aplikacji.

Zmień na sugestorów

Konstruktor Suggester nie ma już parametru enum dla .SuggesterSearchMode To wyliczenie miało tylko jedną wartość i dlatego było nadmiarowe. Jeśli w wyniku tego zostaną wyświetlone błędy kompilacji, po prostu usuń odwołania do parametru SuggesterSearchMode .

Usunięto przestarzałe elementy członkowskie

Mogą zostać wyświetlone błędy kompilacji związane z metodami lub właściwościami, które zostały oznaczone jako przestarzałe we wcześniejszych wersjach, a następnie usunięte w wersji 5. Jeśli wystąpią takie błędy, poniżej przedstawiono sposób ich rozwiązywania:

  • Jeśli używasz IndexingParametersExtensions.IndexStorageMetadataOnly metody , użyj SetBlobExtractionMode(BlobExtractionMode.StorageMetadata) zamiast tego.
  • Jeśli używasz IndexingParametersExtensions.SkipContent metody , użyj SetBlobExtractionMode(BlobExtractionMode.AllMetadata) zamiast tego.

Usunięto funkcje w wersji zapoznawczej

W przypadku uaktualniania z wersji 4.0-preview do wersji 5 należy pamiętać, że obsługa analizowania tablic JSON i csv dla indeksatorów obiektów blob została usunięta, ponieważ te funkcje są nadal dostępne w wersji zapoznawczej. W szczególności następujące metody IndexingParametersExtensions klasy zostały usunięte:

  • ParseJsonArrays
  • ParseDelimitedTextFiles

Jeśli aplikacja ma twardą zależność od tych funkcji, nie będzie można przeprowadzić uaktualnienia do wersji 5 zestawu .NET SDK usługi Azure Search. Możesz nadal używać wersji 4.0-preview. Należy jednak pamiętać, że nie zalecamy używania zestawów SDK w wersji zapoznawczej w aplikacjach produkcyjnych. Funkcje w wersji zapoznawczej są przeznaczone tylko do oceny i mogą ulec zmianie.

Podsumowanie

Jeśli potrzebujesz dodatkowych informacji na temat korzystania z zestawu .NET SDK usługi Azure Search, zobacz instrukcje dotyczące platformy .NET.

Z zadowoleniem przyjmujemy Twoją opinię na temat zestawu SDK. Jeśli napotkasz problemy, możesz poprosić nas o pomoc w witrynie Stack Overflow. Jeśli znajdziesz usterkę, możesz zgłosić problem w repozytorium GitHub zestawu Azure .NET SDK. Pamiętaj, aby prefiksować tytuł problemu z ciągiem "[Azure Search]".

Dziękujemy za korzystanie z usługi Azure Search!