Adatok indexelése az Azure Filesból
Fontos
Az Azure Files indexelője jelenleg nyilvános előzetes verzióban érhető el a kiegészítő használati feltételek alatt. Az indexelő adatforrás létrehozásához használjon előzetes REST API-t .
Ebből a cikkből megtudhatja, hogyan konfigurálhat olyan indexelőt, amely tartalmat importál az Azure Filesból, és hogyan teszi kereshetővé az Azure AI Searchben. Az indexelő bemenetei egyetlen megosztásban lévő fájlok. A kimenet egy keresési index, amely az egyes mezőkben tárolt kereshető tartalmakat és metaadatokat tartalmazza.
Az indexelő konfigurálásához és futtatásához a következőt használhatja:
- Search Service előzetes REST API-k, bármely előzetes verzió.
- Bármilyen Azure SDK-csomag.
- Adatimportálás varázsló az Azure Portalon.
- Adatok importálása és vektorizálása varázsló az Azure Portalon.
Előfeltételek
Azure Files, Tranzakcióoptimalizált szint.
A forrástartalmat biztosító SMB-fájlmegosztás . Az NFS-megosztások nem támogatottak.
Szöveget tartalmazó fájlok. Ha bináris adatokkal rendelkezik, AI-bővítést is használhat képelemzéshez.
Olvasási engedélyek az Azure Storage-ban. A "teljes hozzáférés" kapcsolati sztring tartalmaz egy kulcsot, amely hozzáférést biztosít a tartalomhoz.
REST-ügyfél használatával a cikkben bemutatottakhoz hasonló REST-hívásokat hozhat létre.
Támogatott tevékenységek
Ezt az indexelőt a következő feladatokhoz használhatja:
- Adatindexelés és növekményes indexelés: Az indexelő képes indexelni a táblák fájljait és kapcsolódó metaadatait. Az új és frissített fájlokat és metaadatokat a beépített változásészlelés segítségével észleli. Az adatfrissítést ütemezés szerint vagy igény szerint konfigurálhatja.
- Törlésészlelés: Az indexelő egyéni metaadatokon keresztül észlelheti a törléseket.
- Alkalmazott mi a képességkészleteken keresztül: A képességkészleteket az indexelő teljes mértékben támogatja. Ide tartoznak az olyan kulcsfontosságú funkciók, mint az integrált vektorizálás , amely adattömböket és beágyazási lépéseket ad hozzá.
- Elemzési módok: Az indexelő támogatja a JSON-elemzési módokat , ha JSON-tömböket vagy sorokat szeretne elemezni az egyes keresési dokumentumokban. Támogatja a Markdown-elemzési módot is.
- Kompatibilitás más funkciókkal: Az indexelő úgy lett kialakítva, hogy zökkenőmentesen működjön más indexelő funkciókkal, például hibakeresési munkamenetekkel, indexelő gyorsítótárral a növekményes bővítésekhez és a tudástárhoz.
Támogatott dokumentumformátumok
Az Azure Files indexelője a következő dokumentumformátumokból tud szöveget kinyerni:
- 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
- Egyszerű szöveges fájlok (lásd még : Egyszerű szöveg indexelése)
- RTF
- XML
- FÜTYÜLÉS
Az Azure Files indexelése
Alapértelmezés szerint a legtöbb fájl egyetlen keresési dokumentumként van indexelve az indexben, beleértve a strukturált tartalommal rendelkező fájlokat, például a JSON-t vagy a CSV-t, amelyek egyetlen szövegtömbként vannak indexelve.
Ö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.
Az adatforrás meghatározása
Az adatforrás definíciója meghatározza az adatok indexeléséhez, hitelesítő adataihoz és szabályzataihoz az adatok változásainak azonosításához. Egy adatforrás független erőforrásként van definiálva, így több indexelő is használhatja.
A 2020-06-30-preview vagy újabb verziót használhatja a "típus" "azurefile"
kifejezéshez. Javasoljuk, hogy a legújabb előzetes verziójú API-t használja.
Hozzon létre egy adatforrást a definíciójának beállításához a "type"
"azurefile"
előzetes API-val.POST /datasources?api-version=2024-05-01-preview { "name" : "my-file-datasource", "type" : "azurefile", "credentials" : { "connectionString" : "DefaultEndpointsProtocol=https;AccountName=<account name>;AccountKey=<account key>;" }, "container" : { "name" : "my-file-share", "query" : "<optional-directory-name>" } }
Állítsa be a
"azurefile"
"type" (típus) értéket (kötelező).Állítsa be a "hitelesítő adatokat" egy Azure Storage-kapcsolati sztring. A következő szakasz a támogatott formátumokat ismerteti.
Állítsa a "tárolót" a gyökérfájl-megosztásra, és a "lekérdezés" használatával adja meg az almappákat.
Az adatforrás-definíciók tartalmazhatnak helyreállítható törlési szabályzatokat is, ha azt szeretné, hogy az indexelő töröljön egy keresési dokumentumot, amikor a forrásdokumentum törlésre van megjelölve.
Támogatott hitelesítő adatok és kapcsolati sztring
Az indexelők az alábbi kapcsolatokkal csatlakozhatnak egy fájlmegosztáshoz.
Teljes hozzáférésű tárfiók kapcsolati sztring |
---|
{ "connectionString" : "DefaultEndpointsProtocol=https;AccountName=<your storage account>;AccountKey=<your account key>;" } |
A kapcsolati sztring az Azure Portal Tárfiók lapjáról a bal oldali navigációs panel Access-kulcsainak kiválasztásával szerezheti be. Ügyeljen arra, hogy a teljes kapcsolati sztring ne csak egy kulcsot válasszon. |
Keresési mezők hozzáadása indexhez
A keresési indexben adjon hozzá mezőket az Azure-fájlok tartalmának és metaadatainak elfogadásához.
Hozzon létre vagy frissítsen egy indexet a fájltartalmakat és metaadatokat tároló keresési mezők definiálásához.
POST /indexes?api-version=2024-07-01 { "name" : "my-search-index", "fields": [ { "name": "ID", "type": "Edm.String", "key": true, "searchable": false }, { "name": "content", "type": "Edm.String", "searchable": true, "filterable": false }, { "name": "metadata_storage_name", "type": "Edm.String", "searchable": false, "filterable": true, "sortable": true }, { "name": "metadata_storage_path", "type": "Edm.String", "searchable": false, "filterable": true, "sortable": true }, { "name": "metadata_storage_size", "type": "Edm.Int64", "searchable": false, "filterable": true, "sortable": true }, { "name": "metadata_storage_content_type", "type": "Edm.String", "searchable": true, "filterable": true, "sortable": true } ] }
Hozzon létre egy dokumentumkulcsmezőt ("key": true). Blobtartalmak esetén a legjobb jelöltek a metaadat-tulajdonságok. A metaadat-tulajdonságok gyakran tartalmaznak olyan karaktereket, például
/
és-
, amelyek érvénytelenek a dokumentumkulcsokhoz. Az indexelő automatikusan kódolja a kulcs metaadat-tulajdonságát, és nincs szükség konfigurációra vagy mezőleképezésre.metadata_storage_path
(alapértelmezett) az objektum vagy fájl teljes elérési útjametadata_storage_name
csak akkor használható, ha a nevek egyediekA blobokhoz hozzáadott egyéni metaadat-tulajdonság. Ehhez a beállításhoz a blobfeltöltési folyamatnak hozzá kell adnia ezt a metaadat-tulajdonságot az összes blobhoz. Mivel a kulcs egy kötelező tulajdonság, az érték nélküli blobok indexelése sikertelen lesz. Ha egyéni metaadat-tulajdonságot használ kulcsként, ne módosítsa a tulajdonságot. Az indexelők duplikált dokumentumokat adnak hozzá ugyanahhoz a blobhoz, ha a kulcstulajdonság megváltozik.
Adjon hozzá egy "content" mezőt az egyes fájlokból kinyert szöveg tárolásához a blob "content" tulajdonságán keresztül. Ezt a nevet nem kell használnia, de így kihasználhatja az implicit mezőleképezések előnyeit.
Adjon hozzá mezőket a szabványos metaadat-tulajdonságokhoz. A fájlindexelésben a szabványos metaadat-tulajdonságok megegyeznek a blob metaadatainak tulajdonságaival. Az Azure Files indexelője automatikusan belső mezőleképezéseket hoz létre ezekhez a tulajdonságokhoz, amelyek az elválasztott tulajdonságneveket alábecsült tulajdonságnevekké alakítja. Továbbra is hozzá kell adnia az indexdefiníciót használni kívánt mezőket, de kihagyhatja a mezőleképezések létrehozását az adatforrásban.
- metadata_storage_name (
Edm.String
) – a fájl neve. Ha például van egy fájlja /my-share/my-folder/subfolder/resume.pdf, akkor ennek a mezőnek az értéke.resume.pdf
- metadata_storage_path (
Edm.String
) – a fájl teljes URI-ja, beleértve a tárfiókot is. Például:https://myaccount.file.core.windows.net/my-share/my-folder/subfolder/resume.pdf
- metadata_storage_content_type (
Edm.String
) – a fájl feltöltéséhez használt kód által megadott tartalomtípus. Például:application/octet-stream
. - metadata_storage_last_modified (
Edm.DateTimeOffset
) – a fájl utolsó módosított időbélyege. Az Azure AI Search ezzel az időbélyegzővel azonosítja a módosított fájlokat, hogy elkerülje a kezdeti indexelés utáni újraindexelést. - metadata_storage_size (
Edm.Int64
) – fájlméret bájtban. - metadata_storage_content_md5 (
Edm.String
) – A fájltartalom MD5 kivonata, ha elérhető. - metadata_storage_sas_token (
Edm.String
) – Ideiglenes SAS-jogkivonat, amelyet egyéni képességek használhatnak a fájlhoz való hozzáféréshez. Ezt a jogkivonatot nem szabad későbbi használatra tárolni, mert előfordulhat, hogy lejár.
- metadata_storage_name (
Az Azure Files indexelő konfigurálása és futtatása
Az index és az adatforrás létrehozása után készen áll az indexelő létrehozására. Az indexelő konfigurációja meghatározza a futási idő viselkedését vezérlő bemeneteket, paramétereket és tulajdonságokat.
Hozzon létre vagy frissítsen egy indexelőt úgy, hogy megad neki egy nevet, és hivatkozik az adatforrásra és a célindexre:
POST /indexers?api-version=2024-07-01 { "name" : "my-file-indexer", "dataSourceName" : "my-file-datasource", "targetIndexName" : "my-search-index", "parameters": { "batchSize": null, "maxFailedItems": null, "maxFailedItemsPerBatch": null, "configuration": { "indexedFileNameExtensions" : ".pdf,.docx", "excludedFileNameExtensions" : ".png,.jpeg" } }, "schedule" : { }, "fieldMappings" : [ ] }
Az opcionális "konfiguráció" szakaszban adja meg a befogadási vagy kizárási feltételeket. Ha nincs meghatározva, a fájlmegosztásban lévő összes fájl le lesz kérve.
Ha mind
indexedFileNameExtensions
aexcludedFileNameExtensions
paraméterek, mind a paraméterek megtalálhatók, az Azure AI Search először aindexedFileNameExtensions
következőtexcludedFileNameExtensions
vizsgálja meg: . Ha ugyanaz a fájlkiterjesztés mindkét listában megtalálható, akkor az indexelésből kizárja.Mezőleképezéseket adhat meg, ha a mezőnév vagy a típus eltérést mutat, vagy ha egy forrásmező több verziójára van szüksége a keresési indexben.
A fájlindexelés során gyakran kihagyhatja a mezőleképezéseket, mert az indexelő beépített támogatással rendelkezik a "tartalom" és a metaadat tulajdonságainak az index hasonló nevű és begépelt mezőihez való leképezéséhez. A metaadat-tulajdonságok esetében az indexelő automatikusan lecseréli a kötőjeleket
-
aláhúzásjelekre a keresési indexben.További információt az egyéb tulajdonságokról az Indexelő létrehozása című témakörben talál.
Az indexelő automatikusan fut a létrehozásakor. Ezt úgy akadályozhatja meg, hogy a "letiltva" értéket igaz értékre állítja. Az indexelő végrehajtásának szabályozásához futtasson egy indexelőt igény szerint , vagy ütemezze.
Az indexelő állapotának ellenőrzése
Az indexelőzmények állapotának és végrehajtási előzményeinek figyeléséhez küldjön egy indexelőzmény-lekéréses kérést:
GET https://myservice.search.windows.net/indexers/myindexer/status?api-version=2024-07-01
Content-Type: application/json
api-key: [admin key]
A válasz tartalmazza az állapotot és a feldolgozott elemek számát. A következő példához hasonlóan kell kinéznie:
{
"status":"running",
"lastResult": {
"status":"success",
"errorMessage":null,
"startTime":"2022-02-21T00:23:24.957Z",
"endTime":"2022-02-21T00:36:47.752Z",
"errors":[],
"itemsProcessed":1599501,
"itemsFailed":0,
"initialTrackingState":null,
"finalTrackingState":null
},
"executionHistory":
[
{
"status":"success",
"errorMessage":null,
"startTime":"2022-02-21T00:23:24.957Z",
"endTime":"2022-02-21T00:36:47.752Z",
"errors":[],
"itemsProcessed":1599501,
"itemsFailed":0,
"initialTrackingState":null,
"finalTrackingState":null
},
... earlier history items
]
}
A végrehajtási előzmények legfeljebb 50 legutóbbi végrehajtást tartalmaznak, amelyek fordított időrendi sorrendben vannak rendezve, hogy a legújabb végrehajtás legyen az első.
Következő lépések
Most már futtathatja az indexelőt, figyelheti az állapotot vagy ütemezheti az indexelő végrehajtását. Az alábbi cikkek azOkra az indexelőkre vonatkoznak, amelyek tartalmat kérnek le az Azure Storage-ból: