Keresés az Azure Blob Storage-tartalmak között

Az Azure Blob Storage-ban tárolt tartalomtípusok közötti keresés nehéz feladat lehet, de az Azure AI Search mély integrációt biztosít a tartalomrétegben, szöveges információk kinyerésével és következtetésével, amelyeket aztán lekérdezhet egy keresési indexben.

Ebben a cikkben áttekintheti a tartalom és metaadatok blobokból való kinyeréséhez és az Azure AI Search keresési indexbe való küldéséhez szükséges alapszintű munkafolyamatot. Az eredményként kapott index teljes szöveges kereséssel kérdezhető le. A nem keresési forgatókönyvek esetén a feldolgozott blobtartalmakat is elküldheti egy tudástárba .

Feljegyzés

Már ismeri a munkafolyamatot és a kompozíciót? A blobindexelő konfigurálása a következő lépés.

Mit jelent a teljes szöveges keresés hozzáadása a blobadatokhoz

Az Azure AI Search egy önálló keresési szolgáltatás, amely támogatja az indexelést és a számítási feladatok lekérdezését a felhőben üzemeltetett privát kereshető tartalmakat tartalmazó, felhasználó által definiált indexeken keresztül. A teljesítményhez szükség van a kereshető tartalom felhőbeli lekérdezési motorral való közös keresésére, és az eredményeket olyan sebességgel adja vissza, amelyet a felhasználók a keresési lekérdezésektől elvártak.

Az Azure AI Search integrálható az Indexelő rétegben található Azure Blob Storage-tal, és a blobtartalmakat olyan keresési dokumentumként importálja, amelyek invertált indexekbe és egyéb lekérdezési struktúrákba vannak indexelve, amelyek támogatják a szabad formátumú szöveges lekérdezéseket és a szűrőkifejezéseket. Mivel a blob tartalma keresési indexbe van indexelve, az Azure AI Search lekérdezési funkcióinak teljes skáláját használhatja a blobtartalmak információinak megkereséséhez.

A bemenetek a blobok egyetlen tárolóban, az Azure Blob Storage-ban. A blobok szinte bármilyen szöveges adat lehetnek. Ha a blobok képeket tartalmaznak, AI-bővítést adhat hozzá a képek szövegének és funkcióinak létrehozásához és kinyeréséhez.

A kimenet mindig egy Azure AI Search-index, amelyet gyors szöveges kereséshez, lekéréshez és feltáráshoz használnak az ügyfélalkalmazásokban. A kettő között maga az indexelési folyamat architektúrája van. A folyamat az indexelő funkción alapul, amelyről ebben a cikkben részletesebben is szó lesz.

Az index létrehozása és feltöltése után a blobtárolótól függetlenül létezik, de az indexelési műveletek újrafuttatásával frissítheti az indexet a módosított dokumentumok alapján. Az egyes blobok időbélyeg-információi a változásészleléshez használatosak. A frissítési mechanizmusként választhatja az ütemezett végrehajtást vagy az igény szerinti indexelést.

Blobkeresési megoldásban használt erőforrások

Szüksége van az Azure AI Searchre, az Azure Blob Storage-ra és egy ügyfélre. Az Azure AI Search általában a megoldás számos összetevőjének egyike, ahol az alkalmazáskód lekérdezési API-kéréseket ad ki, és kezeli a választ. Az indexelés kezeléséhez alkalmazáskódot is írhat, bár a megvalósíthatósági vizsgálat és a rögtönzött feladatok esetében gyakori, hogy az Azure Portalt használja keresési ügyfélként.

A Blob Storage-on belül szüksége lesz egy forrástartalmat biztosító tárolóra. Megadhatja a fájlbefoglalási és kizárási feltételeket, és megadhatja, hogy a blob mely részei legyenek indexelve az Azure AI Searchben.

Közvetlenül a Tárfiók portál oldalán kezdheti.

  1. Az Adatkezelés bal oldali navigációs lapján válassza az Azure AI Search lehetőséget a keresési szolgáltatás kiválasztásához vagy létrehozásához.

  2. A varázsló lépéseit követve kinyerheti és igény szerint létrehozhat kereshető tartalmakat a blobokból. A munkafolyamat az Adatok importálása varázsló. A munkafolyamat létrehoz egy indexelőt, adatforrást, indexet és beállítási készségeket az Azure AI-Search szolgáltatás.

    Képernyőkép az Azure AI Search varázslóról az Azure Storage Portál oldalán.

  3. A tartalom lekérdezéséhez használja a Keresőböngészőt a keresési portál lapján.

A varázsló a legjobb kiindulópont, de rugalmasabb lehetőségeket is felfedezhet, ha saját maga konfigurál egy blobindexelőt . REST-ügyfelet is használhat. Oktatóanyag: A részben strukturált adatok (JSON-blobok) indexelése és keresése végigvezeti a REST API meghívásának lépésein.

A blobok indexelésének menete

Alapértelmezés szerint a blobok többsége egyetlen keresési dokumentumként van indexelve az indexben, beleértve a strukturált tartalommal rendelkező blobokat, például a JSON-t vagy a CSV-t, amelyek egyetlen szövegtömbként vannak indexelve. Belső struktúrával (elválasztókkal) rendelkező JSON- vagy CSV-dokumentumok esetében azonban elemzési módokat rendelhet hozzá az egyes sorokhoz vagy elemekhez tartozó egyéni keresési dokumentumok létrehozásához:

Összetett vagy beágyazott dokumentum (például ZIP-archívum, mellékleteket tartalmazó beágyazott Outlook-e-maileket tartalmazó Word-dokumentum vagy . A mellékleteket tartalmazó MSG-fájl is egyetlen dokumentumként van indexelve. Például a mellékletekből kinyert összes kép. Az MSG-fájl a normalized_images mezőben lesz visszaadva. Ha rendelkezik képekkel, fontolja meg az AI-bővítés hozzáadását, hogy több keresési segédprogramot kapjon az adott tartalomból.

A dokumentum szöveges tartalma egy "content" nevű sztringmezőbe lesz kinyerve. Standard és felhasználó által definiált metaadatokat is kinyerhet.

Feljegyzés

Az Azure AI Search korlátozza az indexelők számára, hogy a tarifacsomagtól függően mennyi szöveget nyer ki. Ha a dokumentumok csonkoltak, figyelmeztetés jelenik meg az indexelő állapotválaszában.

Blobindexelő használata tartalomkinyeréshez

Az indexelők az Azure AI Search adatforrás-tudatos alszolgáltatásai, amelyek belső logikával rendelkeznek az adatok mintavételezéséhez, az adatok és metaadatok beolvasásához és lekéréséhez, valamint az adatok natív formátumokból JSON-dokumentumokba való szerializálásához a későbbi importáláshoz.

Az Azure Storage-blobok indexelése a blobindexelő használatával történik. Ezt az indexelőt az Azure Storage Azure AI Search parancsával, az Adatok importálása varázslóval, egy REST API-val vagy a .NET SDK-val hívhatja meg. A kódban ezt az indexelőt a típus beállításával és az Azure Storage-fiókot és egy blobtárolót tartalmazó kapcsolati adatok megadásával használhatja. A blobokat úgy oszthatja fel, hogy létrehoz egy virtuális könyvtárat, amelyet aztán paraméterként adhat át, vagy egy fájltípus-bővítményre szűrhet.

Az indexelő "feltör egy dokumentumot", és megnyit egy blobot a tartalom vizsgálatához. Az adatforráshoz való csatlakozás után ez a folyamat első lépése. Blobadatok esetén a rendszer itt észleli a PDF- és Office-dokumentumokat és más tartalomtípusokat. A szövegkinyeréssel történő dokumentumrepedés díjmentes. Ha a blobok képtartalmat tartalmaznak, a rendszer figyelmen kívül hagyja a képeket, kivéve, ha AI-bővítést ad hozzá. A szabványos indexelés csak szöveges tartalomra vonatkozik.

Az Azure Blob Indexer konfigurációs paraméterekkel rendelkezik, és támogatja a változáskövetést, ha a mögöttes adatok elegendő információt nyújtanak. Az Indexadatok alapvető funkcióiról az Azure Blob Storage-ból tudhat meg többet.

Támogatott hozzáférési szintek

A Blob Storage hozzáférési szintjei közé tartozik a gyakori elérésű, a ritka elérésű és az archiválás. Az indexelők csak a gyakori és a ritka elérésű elemeket érhetik el.

Támogatott tartalomtípusok

Ha blobindexelőt futtat egy tárolón, egyetlen lekérdezéssel kinyerheti a szöveget és a metaadatokat a következő tartalomtípusokból:

  • CSV (lásd : CSV-blobok indexelése)
  • EML
  • EPUB
  • GZ
  • HTML
  • JSON (lásd : JSON-blobok indexelése)
  • KML (XML földrajzi ábrázolásokhoz)
  • Microsoft Office-formátumok: DOCX/DOC/DOCM, XLSX/XLS/XLSM, PPTX/PPT/PPTM, MSG (Outlook-e-mailek), XML (2003 és 2006 WORD XML)
  • Dokumentumformátumok megnyitása: ODT, ODS, ODP
  • PDF
  • Egyszerű szöveges fájlok (lásd még : Egyszerű szöveg indexelése)
  • RTF
  • XML
  • ZIP

Az indexelt blobok szabályozása

Az indexelt és kihagyott blobokat a blob fájltípusa vagy a blob tulajdonságainak beállításával szabályozhatja, így az indexelő átugorhatja őket.

Adjon meg adott fájlkiterjesztéseket a fájlkiterjesztések vesszővel tagolt listájának beállításával "indexedFileNameExtensions" (vezető ponttal). Bizonyos fájlkiterjesztések kizárása a kihagyandó bővítmények beállításával "excludedFileNameExtensions" . Ha ugyanaz a bővítmény mindkét listában szerepel, akkor a rendszer kizárja az indexelésből.

PUT /indexers/[indexer name]?api-version=2023-11-01
{
    "parameters" : { 
        "configuration" : { 
            "indexedFileNameExtensions" : ".pdf, .docx",
            "excludedFileNameExtensions" : ".png, .jpeg" 
        } 
    }
}

A blob "kihagyása" metaadatainak hozzáadása

Az indexelő konfigurációs paraméterei a tárolóban vagy mappában lévő összes blobra vonatkoznak. Néha érdemes szabályozni az egyes blobok indexelt módját.

Adja hozzá a következő metaadat-tulajdonságokat és értékeket a blobokhoz a Blob Storage-ban. Amikor az indexelő találkozik ezzel a tulajdonságmal, kihagyja a blobot vagy annak tartalmát az indexelési futtatás során.

Tulajdonság neve Tulajdonságérték Magyarázat
"AzureSearch_Skip" "true" Utasítja a blobindexelőt, hogy hagyja ki teljesen a blobot. Sem a metaadatok, sem a tartalom kinyerése nem történik meg. Ez akkor hasznos, ha egy adott blob ismétlődően meghiúsul, és megszakítja az indexelési folyamatot.
"AzureSearch_SkipContent" "true" Ez egyenértékű a "dataToExtract" : "allMetadata" fent ismertetett beállítással, amely egy adott blobra terjed ki.

Blob metaadatainak indexelése

Egy gyakori forgatókönyv, amely megkönnyíti a blobok bármilyen tartalomtípus szerinti rendezését, ha az egyes blobok egyéni metaadatait és rendszertulajdonságait is indexeli. Ily módon a rendszer az összes blob adatait a dokumentum típusától függetlenül indexeli, és a keresési szolgáltatás egy indexében tárolja. Az új index használatával folytathatja a rendezést, a szűrést és a szűrést az összes Blob Storage-tartalomban.

Feljegyzés

A Blob Index-címkéket a Blob Storage szolgáltatás natív indexeli, és lekérdezésre teszi közzé. Ha a blobok kulcs-/értékattribútumai indexelési és szűrési képességeket igényelnek, a blobindex-címkéket metaadatok helyett érdemes használni.

A Blob Indexről további információt az Azure Blob Storage és a Blob Index adatainak kezelése és keresése című témakörben talál.

Blobtartalom keresése keresési indexben

Az indexelő kimenete egy keresési index, amely interaktív feltáráshoz használható ingyenes szövegekkel és szűrt lekérdezésekkel egy ügyfélalkalmazásban. A tartalom kezdeti feltárásához és ellenőrzéséhez javasoljuk, hogy kezdje a Kereséskezelővel a portálon a dokumentumszerkezet vizsgálatához. A Kereséskezelőben a következőt használhatja:

Állandóbb megoldás a lekérdezési bemenetek összegyűjtése és a válasz megjelenítése keresési eredményként egy ügyfélalkalmazásban. A következő C#-oktatóanyag bemutatja, hogyan hozhat létre keresőalkalmazást: Keresés hozzáadása ASP.NET Core -alkalmazáshoz (MVC).

Következő lépések