Dela via


Uppgradera till Azure Search .NET SDK version 5

Om du använder version 4.0-förhandsversion eller äldre av .NET SDK hjälper den här artikeln dig att uppgradera ditt program till att använda version 5.

En mer allmän genomgång av SDK inklusive exempel finns i Använda Azure Search från ett .NET-program.

Version 5 av Azure Search .NET SDK innehåller vissa ändringar från tidigare versioner. Dessa är mestadels mindre, så att ändra koden bör bara kräva minimal ansträngning. Se Steg för att uppgradera för instruktioner om hur du ändrar din kod för att använda den nya SDK-versionen.

Anteckning

Om du använder version 2.0-förhandsversion eller äldre bör du först uppgradera till version 3 och sedan uppgradera till version 5. Anvisningar finns i Uppgradera till Azure Search .NET SDK version 3 .

Din Azure tjänsten Search-instans stöder flera REST API-versioner, inklusive den senaste. Du kan fortsätta att använda en version när den inte längre är den senaste, men vi rekommenderar att du migrerar koden för att använda den senaste versionen. När du använder REST-API:et måste du ange API-versionen i varje begäran via api-versionsparametern. När du använder .NET SDK avgör den version av SDK:n som du använder motsvarande version av REST-API:et. Om du använder en äldre SDK kan du fortsätta att köra koden utan ändringar även om tjänsten har uppgraderats för att stödja en nyare API-version.

Nyheter i version 5

Version 5 av Azure Search .NET SDK är avsedd för den senaste allmänt tillgängliga versionen av REST-API:et för Azure Search, särskilt 2017-11-11. Detta gör det möjligt att använda nya funktioner i Azure Search från ett .NET-program, inklusive följande:

  • Synonymer.
  • Du kan nu programmatiskt komma åt varningar i indexerarens körningshistorik (se Warning egenskapen IndexerExecutionResult för i .NET-referensen för mer information).
  • Stöd för .NET Core 2.
  • Ny paketstruktur stöder endast användning av de delar av SDK:n som du behöver (mer information finns i Icke-bakåtkompatibla ändringar i version 5 ).

Steg för att uppgradera

Uppdatera först NuGet-referensen för Microsoft.Azure.Search att antingen använda NuGet Package Manager-konsolen eller genom att högerklicka på dina projektreferenser och välja "Hantera NuGet-paket..." i Visual Studio.

När NuGet har laddat ned de nya paketen och deras beroenden återskapar du projektet. Beroende på hur koden är strukturerad kan den återskapas. I så fall är du redo att gå!

Om bygget misslyckas bör du se ett byggfel som liknar följande:

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

Nästa steg är att åtgärda det här byggfelet. Se Icke-bakåtkompatibla ändringar i version 5 för mer information om vad som orsakar felet och hur du åtgärdar det.

Observera att på grund av ändringar i paketeringen av Azure Search .NET SDK måste du återskapa programmet för att kunna använda version 5. Dessa ändringar beskrivs i Icke-bakåtkompatibla ändringar i version 5.

Du kan se ytterligare byggvarningar relaterade till föråldrade metoder eller egenskaper. Varningarna innehåller instruktioner om vad du ska använda i stället för den inaktuella funktionen. Om ditt program till exempel använder IndexingParametersExtensions.DoNotFailOnUnsupportedContentType metoden bör du få en varning som säger "Det här beteendet är nu aktiverat som standard, så det är inte längre nödvändigt att anropa den här metoden".

När du har åtgärdat eventuella byggfel eller varningar kan du göra ändringar i ditt program för att dra nytta av nya funktioner om du vill. Nya funktioner i SDK beskrivs i Nyheter i version 5.

Icke-bakåtkompatibla ändringar i version 5

Ny paketstruktur

Den mest betydande icke-bakåtkompatibla ändringen i version 5 är att Microsoft.Azure.Search sammansättningen och dess innehåll har delats upp i fyra separata sammansättningar som nu distribueras som fyra separata NuGet-paket:

  • Microsoft.Azure.Search: Det här är ett metapaket som innehåller alla andra Azure Search-paket som beroenden. Om du uppgraderar från en tidigare version av SDK:n behöver du bara uppgradera det här paketet och bygga om för att börja använda den nya versionen.
  • Microsoft.Azure.Search.Data: Använd det här paketet om du utvecklar ett .NET-program med Hjälp av Azure Search och du bara behöver fråga eller uppdatera dokument i dina index. Om du också behöver skapa eller uppdatera index, synonymkartor eller andra resurser på tjänstnivå använder du paketet Microsoft.Azure.Search i stället.
  • Microsoft.Azure.Search.Service: Använd det här paketet om du utvecklar automatisering i .NET för att hantera Azure Search-index, synonymkartor, indexerare, datakällor eller andra resurser på servicenivå. Om du bara behöver fråga eller uppdatera dokument i dina index använder du paketet Microsoft.Azure.Search.Data i stället. Om du behöver alla funktioner i Azure Search använder du paketet Microsoft.Azure.Search i stället.
  • Microsoft.Azure.Search.Common: Vanliga typer som behövs av .NET-biblioteken för Azure Search. Du bör inte behöva använda det här paketet direkt i ditt program. Den är bara avsedd att användas som ett beroende.

Den här ändringen är tekniskt sett icke-bakåtkompatibel eftersom många typer flyttades mellan sammansättningar. Därför är det nödvändigt att återskapa programmet för att uppgradera till version 5 av SDK:et.

Det finns ett litet antal andra icke-bakåtkompatibla ändringar i version 5 som kan kräva kodändringar utöver att återskapa programmet.

Ändra till förslagsgivare

Konstruktorn Suggester har inte längre en enum parameter för SuggesterSearchMode. Den här uppräkningen hade bara ett värde och var därför redundant. Om du ser byggfel som ett resultat av detta tar du helt enkelt bort referenser till parametern SuggesterSearchMode .

Föråldrade medlemmar har tagits bort

Du kan se build-fel relaterade till metoder eller egenskaper som har markerats som föråldrade i tidigare versioner och sedan tagits bort i version 5. Om du stöter på sådana fel kan du lösa dem på följande sätt:

  • Om du använder IndexingParametersExtensions.IndexStorageMetadataOnly metoden använder SetBlobExtractionMode(BlobExtractionMode.StorageMetadata) du i stället.
  • Om du använder IndexingParametersExtensions.SkipContent metoden använder SetBlobExtractionMode(BlobExtractionMode.AllMetadata) du i stället.

Förhandsgranskningsfunktioner har tagits bort

Om du uppgraderar från version 4.0-förhandsversion till version 5 bör du vara medveten om att stöd för JSON-matris och CSV-parsning för Blob Indexers har tagits bort eftersom dessa funktioner fortfarande är i förhandsversion. Mer specifikt har följande metoder för IndexingParametersExtensions klassen tagits bort:

  • ParseJsonArrays
  • ParseDelimitedTextFiles

Om ditt program har ett hårt beroende av dessa funktioner kan du inte uppgradera till version 5 av Azure Search .NET SDK. Du kan fortsätta att använda version 4.0-preview. Tänk dock på att vi inte rekommenderar att du använder förhandsversions-SDK:er i produktionsprogram. Förhandsversionsfunktioner är endast för utvärdering och kan ändras.

Slutsats

Om du behöver mer information om hur du använder Azure Search .NET SDK kan du läsa .NET Instruktioner.

Vi välkomnar din feedback om SDK: et. Om du stöter på problem kan du be oss om hjälp med Stack Overflow. Om du hittar en bugg kan du skapa ett problem i Azure .NET SDK GitHub lagringsplats. Se till att prefixet för problemrubriken är "[Azure Search]".

Tack för att du använder Azure Search!