Növekményes bővítés és gyorsítótárazás az Azure AI Searchben

Fontos

Ez a funkció nyilvános előzetes verzióban, kiegészítő használati feltételek mellett érhető el. Az előzetes REST API támogatja ezt a funkciót.

A növekményes bővítés a gyorsítótárazott gazdagítások használatát jelenti a képességkészlet-végrehajtás során, így csak az új és módosított készségek és dokumentumok esetében merülnek fel használatalapú fizetéses díjak az Azure AI-szolgáltatásokba irányuló API-hívásokért. A gyorsítótár tartalmazza a dokumentumtörésből származó kimenetet, valamint az egyes képességek kimeneteit minden dokumentumhoz. Bár a gyorsítótárazás számlázható (az Azure Storage-t használja), a bővítés teljes költsége csökken, mivel a tárterület költségei kisebbek, mint a lemezképek kinyerése és az AI-feldolgozás.

A gyorsítótárazás engedélyezésekor az indexelő kiértékeli a frissítéseket annak megállapításához, hogy a meglévő bővítéseket le lehet-e húzni a gyorsítótárból. A dokumentumfeltörési fázisból származó kép- és szövegtartalmak, valamint a szerkesztéseket megelőző vagy ortogonális képességkimenetek valószínűleg újra felhasználhatók.

A készségkészlet feldolgozása után a frissített eredmények vissza lesznek írva a gyorsítótárba, valamint a keresési indexbe vagy a tudástárba.

Korlátozások

Figyelemfelhívás

Ha a SharePoint Online indexelőt (előzetes verzió) használja, kerülje a növekményes bővítést. Bizonyos körülmények között a gyorsítótár érvénytelenné válik, és az indexelő alaphelyzetbe állítását és futtatását igényli, ha úgy dönt, hogy újra betölti.

Gyorsítótár-konfiguráció

A gyorsítótár fizikailag egy blobtárolóban van tárolva az Azure Storage-fiókban, indexelőnként egyet. Minden indexelőhöz egyedi és nem módosítható gyorsítótár-azonosító tartozik, amely megfelel a használt tárolónak.

A gyorsítótár akkor jön létre, amikor megadja a "cache" tulajdonságot, és futtatja az indexelőt. Csak a bővített tartalom gyorsítótárazható. Ha az indexelő nem rendelkezik csatolt képességkészletekkel, akkor a gyorsítótárazás nem alkalmazható.

Az alábbi példa egy olyan indexelőt mutat be, amely engedélyezve van a gyorsítótárazással. A teljes útmutatásért tekintse meg a bővítési gyorsítótárazás engedélyezését ismertető cikket. Figyelje meg, hogy a gyorsítótártulajdonság hozzáadásakor a kérelemben egy előzetes verziójú API-verziót (2020-06-30-Preview vagy újabb verzió) használjon.

POST https://[search service name].search.windows.net/indexers?api-version=2020-06-30-Preview
    {
        "name": "myIndexerName",
        "targetIndexName": "myIndex",
        "dataSourceName": "myDatasource",
        "skillsetName": "mySkillset",
        "cache" : {
            "storageConnectionString" : "<Your storage account connection string>",
            "enableReprocessing": true
        },
        "fieldMappings" : [],
        "outputFieldMappings": [],
        "parameters": []
    }

Gyorsítótár-kezelés

A gyorsítótár életciklusát az indexelő felügyeli. Ha egy indexelőt töröl, a gyorsítótára is törlődik. Ha az cache indexelő tulajdonsága null értékűre van állítva, vagy a kapcsolati sztring módosul, a meglévő gyorsítótár a következő indexelőfuttatáskor törlődik.

Bár a növekményes bővítés úgy lett kialakítva, hogy beavatkozás nélkül észlelje és reagáljon a változásokra, bizonyos viselkedések meghívásához használhat paramétereket:

Új dokumentumok rangsorolása

A gyorsítótár tulajdonság tartalmaz egy paramétert enableReprocessing . A gyorsítótárban már szereplő bejövő dokumentumok feldolgozásának szabályozására szolgál. Igaz (alapértelmezett) érték esetén a gyorsítótárban lévő dokumentumok újrafeldolgozódnak az indexelő újrafuttatásakor, feltéve, hogy a képességfrissítés hatással van a dokumentumra.

Ha hamis, a meglévő dokumentumok nem lesznek újra feldolgozva, így hatékonyan rangsorolja az új, bejövő tartalmakat a meglévő tartalommal szemben. Az enableReprocessinget csak ideiglenesen állítsa hamisra. Ha az enableReprocessing beállítása az idő nagy részében igaz, akkor az összes dokumentum érvényes az aktuális képességkészlet-definíció alapján, mind az új, mind a meglévő.

A képességkészletek kiértékelése megkerülése

A képesség módosítása és a képesség újrafeldolgozása általában kéz a kézben jár. A képesség egyes módosításai azonban nem eredményezhetnek újrafeldolgozást (például egyéni képesség üzembe helyezését egy új helyre vagy egy új hozzáférési kulccsal). Ezek valószínűleg olyan perifériamódosítások, amelyek nem befolyásolják valódian a képességkimenet lényegét.

Ha tudja, hogy a képesség módosítása valóban felületes, felül kell bírálnia a képességértékelést a disableCacheReprocessingChangeDetection paraméter igaz értékre állításával:

  1. Hívja meg az Update Skillsetet , és módosítsa a készségkészlet definícióját.
  2. Fűzze hozzá a "disableCacheReprocessingChangeDetection=true" paramétert a kérelemhez.
  3. Küldje el a módosítást.

A paraméter beállítása biztosítja, hogy csak a képességkészlet definíciójának frissítései legyenek véglegesítettek, és a módosítás nem lesz kiértékelve a meglévő gyorsítótárra gyakorolt hatások szempontjából. Használja a 2020-06-30-Preview vagy újabb előzetes VERZIÓjú API-t.

PUT https://[servicename].search.windows.net/skillsets/[skillset name]?api-version=2020-06-30-Preview&disableCacheReprocessingChangeDetection
  

Adatforrás-ellenőrzési ellenőrzések megkerülése

Az adatforrásdefiníció legtöbb módosítása érvényteleníti a gyorsítótárat. Olyan forgatókönyvek esetén azonban, amelyekben tudja, hogy egy módosítás nem érvényteleníti a gyorsítótárat – például egy kapcsolati sztring módosítása vagy a tárfiók kulcsának elforgatása – fűzze hozzá a ignoreResetRequirement paramétert az adatforrás frissítéséhez. A paraméter igaz értékre állítása lehetővé teszi a véglegesítést anélkül, hogy alaphelyzetbe állítási feltételt váltana ki, amely az összes objektum újraépítését és feltöltését eredményezné.

PUT https://[search service].search.windows.net/datasources/[data source name]?api-version=2020-06-30-Preview&ignoreResetRequirement
 

A képességkészletek kiértékelésének kényszerítése

A gyorsítótár célja, hogy elkerülje a szükségtelen feldolgozást, de tegyük fel, hogy módosít egy olyan képességet, amelyet az indexelő nem észlel (például módosít valamit a külső kódban, például egy egyéni képességben).

Ebben az esetben az Alaphelyzetbe állítási készségek használatával kényszerítheti egy adott képesség újrafeldolgozását, beleértve azokat az alsóbb rétegbeli készségeket is, amelyek függenek az adott képesség kimenetétől. Ez az API elfogad egy POST kérést, amely tartalmazza azokat a képességeket, amelyeket érvényteleníteni kell, és meg kell jelölni újrafeldolgozásra. Az Alaphelyzetbe állítási képességek után kövesse az Indexelő futtatása kérést a folyamat feldolgozásának meghívásához.

Adott dokumentumok gyorsítótárazási újragyorsítótára

Az indexelő alaphelyzetbe állításával a keresési korpusz összes dokumentuma újrafeldolgozva lesz. Olyan esetekben, amikor csak néhány dokumentumot kell újra feldolgozni, a Dokumentumok visszaállítása (előzetes verzió) használatával kényszerítheti az egyes dokumentumok újrafeldolgozását. Amikor egy dokumentum alaphelyzetbe áll, az indexelő érvényteleníti a dokumentum gyorsítótárát, amelyet aztán az adatforrásból való olvasással újra feldolgoz. További információ: Indexelők, készségek és dokumentumok futtatása vagy alaphelyzetbe állítása.

Adott dokumentumok alaphelyzetbe állításához a kérés a keresési indexből beolvasott dokumentumkulcsok listáját tartalmazza. Ha a kulcs a külső adatforrás egyik mezőjére van leképezve, akkor a megadott értéknek kell lennie a keresési indexben használt értéknek.

Az API meghívásától függően a kérés hozzáfűzi, felülírja vagy várólistára állítja a kulcslistát:

  • Az API többszöri meghívása különböző kulcsokkal hozzáfűzi az új kulcsokat a dokumentumkulcsok alaphelyzetbe állításának listájához.

  • Ha az API-t a "felülírás" lekérdezési sztring paraméter értéke true értékre állítja, felülírja a kérés hasznos adataival alaphelyzetbe állítani kívánt dokumentumkulcsok aktuális listáját.

  • Az API meghívása csak az indexelő által végzett munkasorhoz hozzáadja a dokumentumkulcsokat. Amikor az indexelő következő meghívása ütemezett vagy igény szerint történik, az elsődlegesen az alaphelyzetbe állítási dokumentumkulcsok feldolgozását fogja előnyben részesíteni az adatforrás egyéb módosításai előtt.

Az alábbi példa egy visszaállítási dokumentumkérést szemléltet:

POST https://[search service name].search.windows.net/indexers/[indexer name]/resetdocs?api-version=2020-06-30-Preview
    {
        "documentKeys" : [
            "key1",
            "key2",
            "key3"
        ]
    }

A gyorsítótárat érvényteleníteni kívánt módosítások

Miután engedélyezte a gyorsítótárat, az indexelő kiértékeli a folyamatösszetétel változásait annak megállapításához, hogy melyik tartalom újrafelhasználható, és melyiket kell újra feldolgozni. Ez a szakasz számba adja azokat a módosításokat, amelyek érvényteleníti a gyorsítótárat, majd a növekményes feldolgozást kiváltó módosításokat.

Az érvénytelenítő módosítás az, ahol a teljes gyorsítótár már nem érvényes. Az érvénytelenítésre példa az adatforrás frissítése. Az indexelő folyamat bármely olyan részén végzett módosítások teljes listája, amelyek érvénytelenné tennék a gyorsítótárat:

  • Az adatforrás típusának módosítása
  • Adatforrástároló módosítása
  • Adatforrás hitelesítő adatainak módosítása
  • Az adatforrás változásészlelési szabályzatának módosítása
  • Adatforrás törlésészlelési szabályzatának módosítása
  • Indexelő mezőleképezéseinek módosítása
  • Indexelőparaméterek módosítása:
    • Elemzési mód
    • Kizárt fájlnévkiterjesztések
    • Indexelt fájlnévkiterjesztések
    • Tár metaadatainak indexelése csak túlméretezett dokumentumokhoz
    • Tagolt szövegfejlécek
    • Elhatárolt szöveghatárolás
    • Dokumentumgyökér
    • Képművelet (A képek kinyerésének változásai)

Növekményes feldolgozást kiváltó módosítások

A növekményes feldolgozás kiértékeli a képességcsoport definícióját, és meghatározza, hogy mely képességeket kell újrafuttatnia, valamint szelektíven frissíti a dokumentumfa érintett részeit. A növekményes bővítést eredményező módosítások teljes listája:

  • A képesség típusának módosítása (a képesség OData-típusa frissül)
  • A képességspecifikus paraméterek frissülnek, például url-címet, alapértelmezett értékeket vagy egyéb paramétereket
  • A képességkimenet megváltozik, a képesség további vagy eltérő kimeneteket ad vissza
  • A képességbemeneti változások eltérő származást eredményeznek, a képességláncolás megváltozott
  • Bármely felsőbb rétegbeli képesség érvénytelenítése, ha a képességhez bemenetet biztosító képesség frissül
  • Frissítések a tudástár vetítési helyére, és a dokumentumok újra kivetítését eredményezi
  • A tudástár-előrejelzések módosítása, a dokumentumok újbóli kivetítése
  • Az indexelőn módosított kimeneti mezőleképezések a dokumentumok indexre való ismételt kivetítését eredményezik

Gyorsítótárazáshoz használt API-k

A REST API-verzió vagy újabb verzió 2020-06-30-Preview növekményes bővítést biztosít az indexelők további tulajdonságain keresztül. A készségkészletek és adatforrások használhatják az általánosan elérhető verziót. A referenciadokumentáció mellett a műveletek sorrendjével kapcsolatos részletekért tekintse meg a gyorsítótárazás növekményes bővítésének konfigurálását ismertető cikket.

Következő lépések

A növekményes bővítés egy hatékony funkció, amely kibővíti a változáskövetést a képességkészletekre és az AI-bővítésre. A növekményes bővítés lehetővé teszi a meglévő feldolgozott tartalom újrafelhasználását a készségkészlet-tervezés iterációja során. Következő lépésként engedélyezze az indexelők gyorsítótárazását.