Frissítés az Azure Search .NET SDK 5-ös verziójára

Ha a .NET SDK 4.0-s vagy újabb verzióját használja, ez a cikk segít frissíteni az alkalmazást az 5-ös verzió használatára.

Az SDK általánosabb, példákat is tartalmazó bemutatóját a .NET-alkalmazásból származó Azure Search használata című témakörben találja.

Az Azure Search .NET SDK 5-ös verziója a korábbi verziók módosításait tartalmazza. Ezek többnyire kisebbek, ezért a kód módosítása csak minimális erőfeszítést igényel. A kód új SDK-verzió használatára való módosítására vonatkozó útmutatásért tekintse meg frissítésének lépéseit.

Megjegyzés

Ha a 2.0-s vagy régebbi verziót használja, először frissítsen a 3-ra, majd frissítsen az 5-ös verzióra. Útmutatásért tekintse meg az Azure Search .NET SDK 3-ra való frissítését .

Az Azure Search-szolgáltatáspéldány számos REST API-verziót támogat, köztük a legújabbat is. Továbbra is használhat verziót, ha már nem a legújabb, de javasoljuk, hogy migrálja a kódot a legújabb verzió használatára. A REST API használatakor minden kérelemben meg kell adnia az API-verziót az API-verzió paraméterrel. A .NET SDK használatakor a használt SDK verziója határozza meg a REST API megfelelő verzióját. Ha régebbi SDK-t használ, akkor is futtathatja a kódot módosítás nélkül, még akkor is, ha a szolgáltatást frissítjük egy újabb API-verzió támogatására.

Az 5-ös verzió újdonságai

Az Azure Search .NET SDK 5-ös verziója az Azure Search REST API legújabb általánosan elérhető verzióját célozza meg, különösen a 2017-11-11-es verziót. Ez lehetővé teszi az Azure Search új funkcióinak használatát egy .NET-alkalmazásból, beleértve a következőket:

  • Szinonimák.
  • Mostantól programszerűen hozzáférhet az indexelő figyelmeztetéseihez a végrehajtási előzményekben (további részletekért tekintse meg a WarningIndexerExecutionResult tulajdonságát a .NET-referencia alatt).
  • A .NET Core 2 támogatása.
  • Az új csomagstruktúra csak a szükséges SDK-részek használatát támogatja (részletekért lásd az 5. verzió kompatibilitástörő változásait ).

A frissítés lépései

Először is frissítse a Microsoft.Azure.Search NuGet hivatkozást a NuGet csomagkezelő konzol használatával, vagy kattintson a jobb gombbal a projekt hivatkozásaira, és válassza a "NuGet-csomagok kezelése..." lehetőséget a Visual Studio-ban.

Miután a NuGet letöltötte az új csomagokat és azok függőségeit, építse újra a projektet. A kód felépítésétől függően a kód újraépítése sikeres lehet. Ha igen, készen áll az indulásra!

Ha a build sikertelen, az alábbihoz hasonló buildelési hibát kell látnia:

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

A következő lépés a buildelési hiba kijavítása. Tekintse meg az 5-ös verzió lényeges változásait, hogy megtudja, mi okozza a hibát, és hogyan lehet azt kijavítani.

Vegye figyelembe, hogy az Azure Search .NET SDK csomagolásának változásai miatt újra kell építenie az alkalmazást az 5-ös verzió használatához. Ezek a változások részletezve vannak a 5-ös verzió változásaiban.

Az elavult metódusokkal vagy tulajdonságokkal kapcsolatos további összeállítási figyelmeztetések is megjelenhetnek. A figyelmeztetések az elavult funkció helyett a használatukra vonatkozó utasításokat is tartalmazzák. Ha például az alkalmazás a IndexingParametersExtensions.DoNotFailOnUnsupportedContentType metódust használja, figyelmeztetést kell kapnia, amely szerint "Ez a viselkedés alapértelmezés szerint engedélyezve van, ezért a metódus meghívása már nem szükséges".

Miután kijavított minden buildelési hibát vagy figyelmeztetést, módosíthatja az alkalmazást, hogy igény szerint kihasználhassa az új funkciókat. Az SDK új funkcióit az 5. verzió újdonságai ismertetik.

Kompatibilitástörő változások az 5-ös verzióban

Új csomagstruktúra

Az 5-ös verzió leglökésesebb kompatibilitástörő változása, hogy a Microsoft.Azure.Search szerelvényt és annak tartalmát négy különálló szerelvényre osztottuk, amelyek most négy különálló NuGet-csomagként vannak elosztva:

  • Microsoft.Azure.Search: Ez egy metacsomag, amely az összes többi Azure Search-csomagot függőségként tartalmazza. Ha az SDK egy korábbi verziójáról frissít, egyszerűen frissítse ezt a csomagot, és az újraépítésnek elegendőnek kell lennie ahhoz, hogy elkezdje használni az új verziót.
  • Microsoft.Azure.Search.Data: Ezt a csomagot akkor használja, ha .NET-alkalmazást fejleszt az Azure Search használatával, és csak az indexekben lévő dokumentumokat kell lekérdeznie vagy frissítenie. Ha indexeket, szinonimatérképeket vagy más szolgáltatási szintű erőforrásokat is létre kell hoznia vagy frissítenie, használja inkább a Microsoft.Azure.Search csomagot.
  • Microsoft.Azure.Search.Service: Ezt a csomagot akkor használja, ha automatizálást fejleszt a .NET-ben az Azure Search-indexek, szinonimatérképek, indexelők, adatforrások vagy más szolgáltatásszintű erőforrások kezeléséhez. Ha csak az indexekben lévő dokumentumokat kell lekérdeznie vagy frissítenie, használja inkább a Microsoft.Azure.Search.Data csomagot. Ha az Azure Search összes funkciójára szüksége van, használja inkább a Microsoft.Azure.Search csomagot.
  • Microsoft.Azure.Search.Common: Az Azure Search .NET-kódtárak által igényelt gyakori típusok. Ezt a csomagot nem szabad közvetlenül az alkalmazásban használnia; Ez csak függőségként használható.

Ez a változás gyakorlatilag megtört, mivel számos típust áthelyeztek a szerelvények között. Ezért van szükség az alkalmazás újraépítésére az SDK 5-ös verziójára való frissítéshez.

Az 5-ös verzióban kis számú egyéb kompatibilitástörő változás is előfordulhat, amelyek az alkalmazás újraépítése mellett kódmódosítást is igényelhetnek.

Váltás javaslattevőkre

A Suggester konstruktor már nem rendelkezik enum paraméterrel SuggesterSearchMode. Ez a szám csak egy értékkel rendelkezett, ezért redundáns volt. Ha ennek eredményeként buildelési hibákat lát, egyszerűen távolítsa el a SuggesterSearchMode paraméterre mutató hivatkozásokat.

Elavult tagok eltávolítása

A korábbi verziókban elavultként megjelölt és az 5. verzióban eltávolított metódusokkal vagy tulajdonságokkal kapcsolatos összeállítási hibák jelentkezhetnek. Ha ilyen hibákba ütközik, az alábbiak szerint háríthatja el őket:

  • Ha a IndexingParametersExtensions.IndexStorageMetadataOnly módszert használta, inkább használja a SetBlobExtractionMode(BlobExtractionMode.StorageMetadata).
  • Ha a IndexingParametersExtensions.SkipContent módszert használta, inkább használja a SetBlobExtractionMode(BlobExtractionMode.AllMetadata).

Eltávolított előzetes verziójú funkciók

Ha a 4.0-s verzióról az 5-ös verzióra frissít, vegye figyelembe, hogy a blobindexelők JSON-tömb- és CSV-elemzési támogatása el lett távolítva, mivel ezek a funkciók még előzetes verzióban vannak. A IndexingParametersExtensions osztály alábbi módszereit távolítottuk el:

  • ParseJsonArrays
  • ParseDelimitedTextFiles

Ha az alkalmazás erősen függ ezekről a funkciókról, nem fog tudni frissíteni az Azure Search .NET SDK 5-ös verziójára. Továbbra is használhatja a 4.0-s verzió előzetes verzióját. Ne feledje azonban, hogy éles alkalmazásokban nem javasoljuk az előzetes verziójú SDK-k használatát. Az előzetes verziójú funkciók csak kiértékelhetők, és változhatnak.

Következtetés

Ha további részletekre van szüksége az Azure Search .NET SDK használatával kapcsolatban, tekintse meg a .NET útmutatóját.

Örömmel vesszük visszajelzését az SDK-val kapcsolatban. Ha problémákba ütközik, kérjen segítséget a Stack Overflow-hoz. Ha hibát talál, az Azure .NET SDK GitHub-adattárában is elküldheti a problémát. Győződjön meg arról, hogy a probléma címét az "[Azure Search]" előtaggal használja.

Köszönjük, hogy az Azure Search szolgáltatást használta!