Share via


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 verziójú REST API-t (2020-06-30-preview vagy újabb verzió).

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.

Ez a cikk kiegészíti az Indexelő létrehozását az Azure Storage-fájlok indexelésével kapcsolatos információkkal. A REST API-k segítségével egy háromrészes munkafolyamatot mutat be, amely az összes indexelőre jellemző: adatforrás létrehozása, index létrehozása, indexelő létrehozása. Az adatkinyerés az Indexelő létrehozása kérés elküldésekor történik.

Előfeltételek

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
  • PDF
  • Egyszerű szöveges fájlok (lásd még : Egyszerű szöveg indexelése)
  • RTF
  • XML
  • ZIP

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.

  1. Hozzon létre vagy frissítsen egy adatforrást a definíció beállításához egy előzetes verziójú API 2020-06-30-Preview vagy újabb verziójával a "type": "azurefile"beállításhoz.

    {
        "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>" }
    }
    
  2. Állítsa be a "azurefile" "type" (típus) értéket (kötelező).

  3. Állítsa be a "hitelesítő adatokat" egy Azure Storage-kapcsolati sztring. A következő szakasz a támogatott formátumokat ismerteti.

  4. Á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.

  1. 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=2020-06-30
    {
      "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 }        
      ]
    }
    
  2. 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. Mivel az indexelő rendelkezik egy "base64EncodeKeys" tulajdonsággal (alapértelmezés szerint igaz), automatikusan kódolja a metaadat-tulajdonságot, konfiguráció vagy mezőleképezés nélkül.

    • metadata_storage_path (alapértelmezett) az objektum vagy fájl teljes elérési útja

    • metadata_storage_name csak akkor használható, ha a nevek egyediek

    • A 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.

  3. 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.

  4. 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.

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.

  1. 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 https://[service name].search.windows.net/indexers?api-version=2020-06-30
    {
      "name" : "my-file-indexer",
      "dataSourceName" : "my-file-datasource",
      "targetIndexName" : "my-search-index",
      "parameters": {
         "batchSize": null,
         "maxFailedItems": null,
         "maxFailedItemsPerBatch": null,
         "base64EncodeKeys": null,
         "configuration": {
            "indexedFileNameExtensions" : ".pdf,.docx",
            "excludedFileNameExtensions" : ".png,.jpeg" 
        }
      },
      "schedule" : { },
      "fieldMappings" : [ ]
    }
    
  2. 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 a excludedFileNameExtensions paraméterek, mind a paraméterek megtalálhatók, az Azure AI Search először a indexedFileNameExtensionskövetkezőt excludedFileNameExtensionsvizsgálja meg: . Ha ugyanaz a fájlkiterjesztés mindkét listában megtalálható, akkor az indexelésből kizárja.

  3. 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.

  4. 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=2020-06-30
  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: