Indexelő létrehozása (Azure AI Search REST API)

Az indexelő automatizálja az indexelést a támogatott Azure-adatforrásokból, például az Azure Storage-ból, Azure SQL Database-ből és az Azure Cosmos DB-ből, hogy néhányat említsünk. Az indexelők előre definiált adatforrást és indexet használnak egy indexelési folyamat létrehozásához, amely kinyeri és szerializálja a forrásadatokat, és átadja azokat egy keresési szolgáltatásnak adatbetöltés céljából. A kép és a strukturálatlan szöveg AI-bővítéséhez az indexelők elfogadhatnak egy olyan képességcsoportot is, amely definiálja az AI-feldolgozást.

Az indexelő létrehozása hozzáadja a keresési szolgáltatáshoz, és futtatja azt. Ha a kérés sikeres, az index az adatforrásból származó kereshető tartalommal lesz feltöltve.

A kérelemhez használhatJA a POST vagy a PUT elemet. Mindkét esetben a kérelem törzsében található JSON-dokumentum biztosítja az objektumdefiníciót.

POST https://[service name].search.windows.net/indexers?api-version=[api-version]
    Content-Type: application/json  
    api-key: [admin key]  

Másik lehetőségként használhatja a PUT parancsot, és megadhatja az indexelő nevét az URI-n.

PUT https://[service name].search.windows.net/indexers/[indexer name]?api-version=[api-version]
    Content-Type: application/json  
    api-key: [admin key]    

MINDEN szolgáltatáskéréshez HTTPS szükséges. Ha az indexelő nem létezik, létrejön. Ha már létezik, az új definícióra frissül, de ha indexelő-végrehajtást szeretne, ki kell adnia egy Indexelő futtatása kérelmet.

Az indexelő konfigurációja az adatforrás típusától függően változik. Az indexelők létrehozásával kapcsolatos adatplatform-specifikus útmutatásért kezdje az Indexelők áttekintésével, amely tartalmazza a kapcsolódó cikkek teljes listáját.

URI-paraméterek

Paraméter Leírás
szolgáltatásnév Kötelező. Állítsa be ezt a keresési szolgáltatás egyedi, felhasználó által definiált nevére.
indexelő neve Put használata esetén az URI-n kötelező megadni. A névnek kisbetűnek kell lennie, betűvel vagy számmal kell kezdődnie, nincsenek perjelei vagy pontjai, és 128 karakternél kevesebbnek kell lennie. a névnek betűvel vagy számmal kell kezdődnie, de a többi név tartalmazhat bármilyen betűt, számot és kötőjelet, feltéve, hogy a kötőjelek nem egymást követőek.
api-verzió Kötelező. A támogatott verziók listáját lásd: API-verziók .

Kérelemfejlécek

Az alábbi táblázat a szükséges és nem kötelező kérésfejléceket ismerteti.

Mezők Description
Content-Type Kötelező. Állítsa a következőre: application/json
api-key Nem kötelező , ha Azure-szerepköröket használ, és egy tulajdonosi jogkivonatot ad meg a kéréshez, ellenkező esetben kulcsra van szükség. A létrehozási kérelmeknek tartalmazniuk kell egy api-key , a rendszergazdai kulcsra beállított fejlécet (a lekérdezési kulcs helyett). A részletekért lásd: Csatlakozás az Azure AI Search szolgáltatáshoz kulcshitelesítés használatával .

Kérelem törzse

Az adatforrások, indexek és képességkészletek egy indexelő definíció részét képezik, de mindegyik független összetevő, amely különböző kombinációkban használható. Használhatja például ugyanazt az adatforrást több indexelővel, vagy ugyanazt az indexet több indexelővel, vagy több indexelőt, aki egyetlen indexbe ír.

A következő JSON a definíció fő részeinek magas szintű ábrázolása.

{   
    "name" : (optional on PUT; required on POST) "Name of the indexer",  
    "description" : (optional) "Anything you want, or nothing at all", 
    "dataSourceName" : (required) "Name of an existing data source",  
    "targetIndexName" : (required) "Name of an existing index",  
    "skillsetName" : (required for AI enrichment) "Name of an existing skillset",
    "disabled" : (optional) Boolean value indicating whether the indexer is disabled. False by default,
    "schedule" : (optional but runs once immediately if unspecified) { ... },  
    "parameters": { (optional)
       "batchSize": null,
       "maxFailedItems": 0,
       "maxFailedItemsPerBatch": 0,
       "base64EncodeKeys": null,
       "configuration": { (optional, mostly specific to the data source)
            "executionEnvironment": null
        }
      }, 
    "fieldMappings" : (optional) { ... },
    "outputFieldMappings" : (required for AI enrichment) { ... },
    "encryptionKey":(optional) { }
} 

A kérelem a következő tulajdonságokat tartalmazza:

Tulajdonság Leírás
name Kötelező. A névnek kisbetűnek kell lennie, betűvel vagy számmal kell kezdődnie, nincsenek perjelei vagy pontjai, és 128 karakternél kevesebbnek kell lennie. A névnek betűvel vagy számmal kell kezdődnie, de a többi név tartalmazhat bármilyen betűt, számot és kötőjelet, feltéve, hogy a kötőjelek nem egymást követőek.
dataSourceName Kötelező. Meglévő adatforrás neve. Gyakran olyan tulajdonságokat is tartalmaz, amelyekkel az indexelők kihasználhatják a forrásplatform jellemzőit. Ezért az indexelőnek átadott adatforrás határozza meg bizonyos tulajdonságok és paraméterek rendelkezésre állását, például a tartalomtípus-szűrést az Azure-blobokban. vagy lekérdezési időtúllépés Azure SQL adatbázishoz.
targetIndexName Kötelező. Meglévő indexséma neve. Meghatározza a mezőgyűjteményt, amely kereshető, szűrhető, lekérdezhető és egyéb attribútumokat tartalmaz, amelyek meghatározzák a mező használatának módját. Az indexelés során az indexelő bejárja az adatforrást, opcionálisan feltöri a dokumentumokat, információkat nyer ki, szerializálja az eredményeket a JSON-nak, és indexeli a hasznos adatokat az indexhez megadott séma alapján.
skillsetName AI-bővítéshez szükséges. Meglévő képességcsoport neve, indexelőnként egy. Az adatforrásokhoz és indexekhez hasonlóan a képességkészletek is független definíciók, amelyeket egy indexelőhöz csatolhat. A képességcsoportokat más indexelőkkel is felhasználhatja, de mindegyik indexelő egyszerre csak egy képességkészletet használhat.
schedule Nem kötelező, de azonnal fut, ha nincs meghatározva, és nincs letiltva. Az ütemezés tartalmazza a interval (kötelező) és startTime a (nem kötelező) ütemezést. További információ: Indexelő ütemezése.

interval Meghatározza, hogy az indexelő milyen gyakran fut. A legkisebb megengedett időköz öt perc; A leghosszabb egy nap. XSD "dayTimeDuration" értékként kell formázni (egy ISO 8601 időtartamérték korlátozott részhalmaza). Ennek mintája: "P[nD][T[nH][nM]]". Példák: PT15M 15 percenként, PT2H 2 óránként.

startTime UTC dátumidő, amikor az indexelőnek futnia kell.
Tiltva Választható. Logikai érték, amely azt jelzi, hogy az indexelő le van-e tiltva. Állítsa be ezt a tulajdonságot, ha indexelődefiníciót szeretne létrehozni anélkül, hogy azonnal futtatja. Alapértelmezés szerint hamis.
parameters Választható. A futtatókörnyezet viselkedésének módosítására szolgáló tulajdonságok.

"batchSize" (egész szám). Meghatározza az adatforrásból beolvasott és egyetlen kötegként indexelt elemek számát a teljesítmény javítása érdekében. Az alapértelmezett érték a forrásspecifikus (1000 az Azure SQL Database és az Azure Cosmos DB esetében, 10 a Azure Blob Storage esetében).

"maxFailedItems" (egész szám). Meghatározza, hogy hány hibát kell eltűrni, mielőtt az indexelő futtatása hibának minősül. Az alapértelmezett érték a 0. Állítsa -1 értékre, ha nem szeretné, hogy a hibák leállítják az indexelési folyamatot. Az Indexelő állapotának lekérése a sikertelen dokumentumokra vonatkozó információk lekéréséhez használható.

"maxFailedItemsPerBatch" (egész szám). Meghatározza, hogy az indexelő futtatása előtt hány hibát kell eltűrni az egyes kötegekben. Az alapértelmezett érték a 0. Állítsa -1 értékre, ha nem szeretné, hogy a hibák leállítják az indexelési folyamatot.

"base64EncodeKey" (logikai). Meghatározza, hogy az érvénytelen karaktereket tartalmazó dokumentumkulcsokat kódolja-e.

"configuration". Az adatforrástól függően eltérő tulajdonságok.

"executionEnvironment" (sztring). Felülbírálja a belső rendszerfolyamatok által kiválasztott végrehajtási környezetet. A végrehajtási környezet Private explicit beállítása kötelező, ha az indexelők privát végponti kapcsolatokon keresztül férnek hozzá külső erőforrásokhoz. Ez a beállítás a alatt "configuration"található. Adatbetöltés esetén ez a beállítás csak alapszintű vagy standard (S1, S2, S3) szolgáltatásként kiépített szolgáltatásokra érvényes. AI-bővítési tartalomfeldolgozás esetén ez a beállítás csak S2 és S3 esetén érvényes. Az érvényes értékek a kis- és nagybetűk érzéketlenek, és [null vagy meghatározatlan], Standard (alapértelmezett) vagy Private.
fieldMappings Választható. Explicit módon társít egy forrásmezőt egy célmezőhöz a keresési indexben. Akkor használatos, ha a forrás- és célmezők különböző neveket vagy típusokat tartalmaznak, vagy ha egy függvényt szeretne megadni. A fieldMappings szakasz tartalmazza sourceFieldName a (kötelező, a mögöttes adatforrás egy mezőjét), targetFieldName (kötelező, indexben lévő mező) és egy nem kötelező mappingFunction kódolási kimenetet. A támogatott függvények listája és példák a mezőleképezési függvények között találhatók. További általános információkért lásd: Mezőleképezések és -átalakítások.
outputFieldMappings Bővítési folyamathoz szükséges. Egy képességcsoport kimenetét indexre vagy vetületre képezi le. A outputFieldMappings szakasz tartalmazza sourceFieldName a (kötelező, egy bővítési fa csomópontját), targetFieldName (kötelező, egy index mezője) és egy nem kötelező mappingFunction kódolási kimenetet. A támogatott függvények listája és példák a mezőleképezési függvények között találhatók. További általános információkért lásd: Kimeneti mezők leképezése képességcsoportból.
encryptionKey Választható. Az indexelők inaktív definícióinak titkosítására szolgál a saját kulcsaival, amelyeket az Azure Key Vault kezel. A 2019-01-01-en vagy azt követően létrehozott számlázható keresési szolgáltatásokhoz érhető el.

A encryptionKey szakasz tartalmaz egy felhasználó által definiált keyVaultKeyName (kötelező), egy rendszer által létrehozott keyVaultKeyVersion (kötelező) és egy keyVaultUri kulcsot (kötelező, más néven DNS-nevet). Példa URI-ra: "https://my-keyvault-name.vault.azure.net".

Igény szerint megadhatja accessCredentials , hogy nem felügyelt rendszeridentitást használ-e. accessCredentials A következők applicationId tulajdonságai: (Microsoft Entra ID alkalmazásazonosító, amely hozzáférési engedélyeket kapott a megadott Azure-Key Vault) és applicationSecret (a regisztrált alkalmazás hitelesítési kulcsa). A következő szakaszban egy példa szemlélteti a szintaxist.

Blobkonfigurációs paraméterek

Számos paraméter kizárólagos egy adott indexelőre, például az Azure blobindexelésre.

Paraméter Típus és engedélyezett értékek Használat
"parsingMode" Sztring
"text"
"delimitedText"
"json"
"jsonArray"
"jsonLines"
Az Azure-blobok esetében állítsa úgy, hogy text javítsa az indexelési teljesítményt a blobtárolóban lévő egyszerű szöveges fájlokon.
CSV-blobok esetén állítsa be azt az értéketdelimitedText, amikor a blobok egyszerű CSV-fájlok.
JSON-blobok esetén állítsa be, hogy json strukturált tartalmat nyerjen ki, vagy jsonArray egy tömb egyes elemeit külön dokumentumként nyerje ki az Azure AI Searchben. Az jsonLines azure AI Searchben különálló dokumentumként használhatja az egyes JSON-entitások új sorokkal elválasztott kinyerésére.
"excludedFileNameExtensions" Sztring
vesszőből tagolt lista
felhasználó által definiált
Az Azure-blobok esetében hagyja figyelmen kívül a listában szereplő fájltípusokat. Kizárhatja például a ".png, .png, .mp4" lehetőséget, hogy átugorja ezeket a fájlokat az indexelés során.
"indexedFileNameExtensions" Sztring
vesszőből tagolt lista
felhasználó által definiált
Azure-blobok esetén a blobokat választja ki, ha a fájlkiterjesztés szerepel a listában. Az indexelést például a ".docx, .pptx, .msg" alkalmazásfájlokra összpontosíthatja, hogy konkrétan belefoglalja ezeket a fájltípusokat.
"failOnUnsupportedContentType" Logikai
true
false (alapértelmezett)
Az Azure-blobok esetében állítsa be azt false a beállítást, ha nem támogatott tartalomtípus esetén szeretné folytatni az indexelést, és nem ismeri előre az összes tartalomtípust (fájlkiterjesztést).
"failOnUnprocessableDocument" Logikai
true
false (alapértelmezett)
Azure-blobok esetén állítsa a értéket false arra az esetre, ha folytatni szeretné az indexelést, ha egy dokumentum indexelése meghiúsul.
"indexStorageMetadataOnly
ForOversizedDocuments"
Logikai igaz
false (alapértelmezett)
Azure-blobok esetén állítsa ezt a tulajdonságot úgy, hogy true továbbra is indexelje a feldolgozandó blobtartalmak tárolási metaadatait. A túlméretezett blobokat alapértelmezés szerint hibaként kezeli a rendszer. A blob méretére vonatkozó korlátozásokért lásd: Szolgáltatáskorlátok.
"delimitedTextHeaders" Sztring
vesszőből tagolt lista
felhasználó által definiált
CSV-blobok esetén az oszlopfejlécek vesszővel tagolt listáját adja meg, amely hasznos az index célmezőihez való leképezéséhez.
"delimitedTextDelimiter" Sztring
egy karakter
felhasználó által definiált
CSV-blobok esetén a csv-fájlok sorvégi elválasztóját adja meg, ahol minden sor új dokumentumot indít el (például "|").
"firstLineContainsHeaders" Logikai
true (alapértelmezett)
hamis
CSV-blobok esetén az egyes blobok első (nem üres) sora fejléceket tartalmaz.
"documentRoot" Sztring
felhasználó által megadott elérési út
JSON-tömbök esetén, ha strukturált vagy félig strukturált dokumentumot használ, a tulajdonság használatával megadhatja a tömb elérési útját.
"dataToExtract" Sztring
"storageMetadata"
"allMetadata"
"contentAndMetadata" (alapértelmezett)
Azure-blobok esetén:
Állítsa úgy, hogy "storageMetadata" csak a standard blobtulajdonságokat és a felhasználó által megadott metaadatokat indexelje.
Úgy van beállítva, hogy "allMetadata" kinyerje az Azure Blob Storage alrendszer által biztosított metaadatokat, és a tartalomtípus-specifikus metaadatok (például a csak .png fájlokra jellemző metaadatok) indexelve lesznek.
Úgy van beállítva, hogy "contentAndMetadata" az összes metaadatot és szöveges tartalmat kinyerje az egyes blobokból.

Ha az AI-bővítésben a képelemzés nem értékre "none"van állítva, "imageAction" a "dataToExtract" beállítás közli az indexelővel, hogy mely adatokat kell kinyerni a képtartalomból. Az Azure-blobokban .PDF vagy más alkalmazásokba vagy képfájlokba, például .jpg és .png beágyazott képtartalmakra vonatkozik.
"imageAction" Sztring
"none"
"generateNormalizedImages"
"generateNormalizedImagePerPage"
Azure-blobok esetén állítsa úgy, hogy"none" figyelmen kívül hagyja a beágyazott képeket vagy képfájlokat az adatkészletben. Ez az alapértelmezett beállítás.

Az AI-bővítés képelemzéséhez állítsa be úgy, hogy"generateNormalizedImages" szöveget nyerjen ki a képekből (például a "stop" szót egy forgalommegállítási jelből), és ágyazza be a tartalommezőbe. A képelemzés során az indexelő normalizált képekből álló tömböt hoz létre a dokumentumtörés részeként, és beágyazza a létrehozott információkat a tartalommezőbe. Ehhez a művelethez be kell "dataToExtract" állítani a következőt: "contentAndMetadata". A normalizált képek további feldolgozásra utalnak, amelyek egységes képkimenetet eredményeznek, méretezve és elforgatva, hogy elősegítsék a konzisztens renderelést, amikor képeket adnak meg a vizuális keresési eredményekben (például a JFK-bemutatóban látott azonos méretű fényképeket egy gráfvezérlőben). Ez az információ minden képhez létrejön, amikor ezt a beállítást használja.

Ha a értékre "generateNormalizedImagePerPage"van állítva, a PDF-fájlokat a rendszer másképp kezeli, mivel a beágyazott képek kinyerése helyett minden oldal képként jelenik meg, és ennek megfelelően normalizálódik. Ez a laponkénti folyamat várhatóan sokkal tovább tart, mint "generateNormalizedImages". A nem PDF-fájltípusok ugyanúgy lesznek kezelve, mintha "generateNormalizedImages" be lett volna állítva.

Ha a konfigurációt "imageAction" bármilyen értékre állítja, nem "none" szükséges, hogy egy képességcsoport is hozzá legyen csatolva az indexelőhöz, és terv szerint alacsony teljesítményű folyamat lehet.
"normalizedImageMaxWidth"
"normalizedImageMaxHeight"
50–10000 közötti egész szám A beállított normalizált képek "imageAction" maximális szélessége vagy magassága (képpontban). Az alapértelmezett érték 2000.

A normalizált képek alapértelmezett szélessége és magassága 2000 képpont, amely az OCR-képesség és a képelemzési képesség által támogatott maximális méreteken alapul. Az OCR-képesség legfeljebb 4200 szélességet és magasságot támogat a nem angol nyelvű nyelvek esetében, és 10000-et az angol nyelv esetében. Ha növeli a maximális korlátokat, a feldolgozás a képességcsoport definíciójától és a dokumentumok nyelvétől függően meghiúsulhat a nagyobb képeken.
"allowSkillsetToReadFileData" Logikai
true
false (alapértelmezett)
A paraméter beállításával "allowSkillsetToReadFileData" létrehoz egy elérési utat/document/file_data, amely egy objektum, amely a blob adatforrásából letöltött eredeti fájladatokat true képviseli. Ez lehetővé teszi, hogy az eredeti fájladatokat átadhassa egy egyéni feldolgozási képességnek a bővítési folyamaton belül, vagy a Dokumentum kinyerése képességnek. A létrehozott objektum a következőképpen lesz definiálva: { "$type": "file", "data": "BASE64 encoded string of the file" }

"allowSkillsetToReadFileData" A paraméter true beállításához hozzá kell csatolni egy képességcsoportot az indexelőhöz, és a "parsingMode" paraméter "default"értéke , "text" vagy "json".
"pdfTextRotationAlgorithm" Sztring
"none" (alapértelmezett)
"detectAngles"
Ha úgy állítja be a "pdfTextRotationAlgorithm" paramétert, hogy "detectAngles" jobb és olvashatóbb szövegkivételt eredményez a bennük elforgatott PDF-fájlokból. Vegye figyelembe, hogy a paraméter használatakor előfordulhat, hogy kisebb teljesítménybüntetés történik. Ez a paraméter csak PDF-fájlokra vonatkozik, és csak beágyazott szöveggel rendelkező PDF-fájlokra. Ha az elforgatott szöveg egy beágyazott képben jelenik meg a PDF-ben, ez a paraméter nem érvényes.

A paraméter beállításához "detectAngles""pdfTextRotationAlgorithm" a "parsingMode" paramétert a következő értékre kell állítani: "default".

Az Azure Cosmos DB konfigurációs paraméterei

Az alábbi paraméterek a Cosmos DB-indexelőkre vonatkoznak.

Paraméter Típus és engedélyezett értékek Használat
"assumeOrderByHighWaterMarkColumn" Logikai Sql API-val rendelkező Cosmos DB-indexelők esetén állítsa be ezt a paramétert úgy, hogy a Cosmos DB-nek adjon meg egy tippet, amely szerint az indexeléshez használt dokumentumok visszaadásához használt lekérdezést az _ts oszlop valójában rendezi. A paraméter beállítása jobb eredményeket biztosít a növekményes indexelési forgatókönyvekhez.

Azure SQL konfigurációs paraméterek

Az alábbi paraméterek Azure SQL Adatbázisra vonatkoznak.

Paraméter Típus és engedélyezett értékek Használat
"queryTimeout" Sztring
"óó:mm:ss"
"00:05:00"
Az Azure SQL Database esetében állítsa be ezt a paramétert úgy, hogy az 5 perces alapértelmezett időkorlátot meghaladó időtúllépést növelje.
"convertHighWaterMarkToRowVersion" Logikai Állítsa ezt a paramétert "true" értékre a magas vízjel oszlop rowversion adattípusának használatához. Ha ez a tulajdonság igaz értékre van állítva, az indexelő az indexelő futtatása előtt kivon egyet a rowversion értékből. Ez azért van így, mert az egy-a-többhöz illesztésű nézetekben ismétlődő sorverzióértékek lehetnek. Az egyik kivonásával biztosítható, hogy az indexelő lekérdezés ne hagyja ki ezeket a sorokat.
"disableOrderByHighWaterMarkColumn" Logikai Állítsa ezt a paramétert "true" értékre, ha le szeretné tiltani az ORDER BY viselkedést a változásészleléshez használt lekérdezésben. Ha magas vízjel-változásészlelési szabályzatot használ, az indexelő a WHERE és AZ ORDER BY záradékokkal követi nyomon, hogy mely soroknak kell indexelnie (WHERE [High Water Mark Column] > [Current High Water Mark Value] ORDER BY [High Water Mark Column]). Ez a paraméter letiltja az ORDER BY viselkedést. Az indexelés gyorsabban befejeződik, de a kompromisszum az, hogy ha az indexelő bármilyen okból megszakad, a teljes indexelő feladatot teljes egészében meg kell ismételni.

Reagálás

201 Sikeres kéréshez létrehozva.

Példák

Példa: Indexelő ütemezéssel és általános paraméterekkel

Létrehoz egy indexelőt, amely az adatforrás által ordersds hivatkozott táblából másol adatokat az orders indexbe egy 2021. január 1-jén (UTC) kezdődő és óránként futó ütemezés szerint. Minden indexelőhívás sikeres lesz, ha nem lehet több, mint 5 elemet indexelni az egyes kötegekben, és összesen legfeljebb 10 elemet nem lehet indexelni.

{
    "name" : "myindexer",  
    "description" : "a cool indexer",  
    "dataSourceName" : "ordersds",  
    "targetIndexName" : "orders",  
    "schedule" : { "interval" : "PT1H", "startTime" : "2021-01-01T00:00:00Z" },  
    "parameters" : { "maxFailedItems" : 10, "maxFailedItemsPerBatch" : 5 }  
}

Megjegyzés

Ha egy indexelő egy adott ütemezésre van állítva, de minden futtatáskor újra és újra meghiúsul ugyanazon a dokumentumon, az indexelő ritkábban (legfeljebb 24 óránként) kezd futni, amíg ismét sikeresen nem halad. Ha úgy véli, hogy kijavította azt a problémát, amely miatt az indexelő elakadt egy adott ponton, elvégezheti az indexelő alaphelyzetbe állítását, majd igény szerinti futtatást, és ha ez sikeresen halad, az indexelő ismét visszatér a beállított ütemezési időközre.

Példa: Indexelő blobparaméterekkel

Az indexelők opcionálisan használhatnak olyan konfigurációs paramétereket, amelyek módosítják a futtatókörnyezet viselkedését. A konfigurációs paraméterek vesszővel vannak elválasztva az indexelő kérésében, és egy adatforrástípusra vonatkoznak. Az alábbi konfigurációs paraméterek útmutatást nyújtanak a blobok indexeléséhez.

  {
    "name" : "my-blob-indexer-for-cognitive-search",
    ... other indexer properties
    "parameters" : 
      { 
      "maxFailedItems" : "15", 
      "batchSize" : "100", 
      "configuration" : 
          { 
          "parsingMode" : "json", 
          "indexedFileNameExtensions" : ".json, .jpg, .png",
          "imageAction" : "generateNormalizedImages",
          "dataToExtract" : "contentAndMetadata" ,
          "executionEnvironment": "Standard"
          } 
      }
  }

Példa: Indexelő mezőleképezésekkel

A forrástábla mezőinek _id"id" leképezése egy keresési index egyik mezőjére. Az Azure AI Search nem engedélyezi, hogy a mezőnevek aláhúzással kezdődjenek. A mezőleképezések megoldhatják a néveltéréseket. A forrás- és a célmezőnevek egyaránt megkülönböztetik a kis- és nagybetűket. További információ: Mezőleképezések és -átalakítások.

"fieldMappings" : [
    { "sourceFieldName" : "_id", "targetFieldName" : "id" },
    { "sourceFieldName" : "_timestamp", "targetFieldName" : "timestamp" }
]

Példa: Indexelő AI-bővítéssel

Egy AI-bővítést mutat be, amelyet az és outputFieldMappingsa hivatkozás skillset jelez. A képességcsoportok magas szintű erőforrások, amelyek külön vannak meghatározva. Ez a példa az AI-bővítési oktatóanyag indexelődefiníciójának rövidítése.

{
  "name":"demoindexer",	
  "dataSourceName" : "demodata",
  "targetIndexName" : "demoindex",
  "skillsetName" : "demoskillset",
  "fieldMappings" : [
    {
        "sourceFieldName" : "content",
        "targetFieldName" : "content"
    }
   ],
  "outputFieldMappings" : 
  [
    {
        "sourceFieldName" : "/document/organizations", 
        "targetFieldName" : "organizations"
    },
  ],
  "parameters":
  {
  	"maxFailedItems":-1,
  	"configuration": 
    {
    "dataToExtract": "contentAndMetadata",
    "imageAction": "generateNormalizedImages"
    }
  }
}

Példa: Indexelő képességkészlettel és kimeneti mezőleképezésekkel

Az olyan AI-bővítési forgatókönyvekben, amelyekben egy képességcsoport indexelőhöz van kötve, hozzá kell adnia outputFieldMappings egy olyan bővítési lépés kimenetét, amely tartalmat biztosít az index egy kereshető mezőjéhez. A sourceFieldName egy csomópont egy bővítési fában. Lehet, hogy egy összetett szerkezet, amely a forrásdokumentum két külön mezőjéből épül fel a bővítés során. A targetFieldName mező egy keresési indexben. További információ: Kimeneti mezők leképezése képességcsoportból.

"outputFieldMappings" : [
      {
        "sourceFieldName" : "/document/organizations", 
        "targetFieldName" : "organizations"
      },
      {
        "sourceFieldName" : "/document/pages/*/keyPhrases/*", 
        "targetFieldName" : "keyphrases"
      },
      {
          "sourceFieldName": "/document/languageCode",
          "targetFieldName": "language",
          "mappingFunction": null
      }      
  ]

Példa: Titkosítási kulcsok

A titkosítási kulcsok az ügyfél által felügyelt kulcsok, amelyeket további titkosításhoz használnak. További információ: Titkosítás ügyfél által felügyelt kulcsokkal az Azure Key Vault.

{
    "name" : "myindexer",  
    "description" : "a cool indexer",  
    "dataSourceName" : "ordersds",  
    "targetIndexName" : "orders",  
    "schedule" : { "interval" : "PT1H", "startTime" : "2021-01-01T00:00:00Z" },  
    "parameters" : { "maxFailedItems" : 10, "maxFailedItemsPerBatch" : 5 },
    "encryptionKey": (optional) { 
      "keyVaultKeyName": "Name of the Azure Key Vault key used for encryption",
      "keyVaultKeyVersion": "Version of the Azure Key Vault key",
      "keyVaultUri": "URI of Azure Key Vault, also referred to as DNS name, that provides the key. An example URI might be https://my-keyvault-name.vault.azure.net",
      "accessCredentials": (optional, only if not using managed system identity) {
        "applicationId": "Microsoft Entra ID application ID that was granted access permissions to your specified Azure Key Vault",
        "applicationSecret": "Authentication key of the registered application)"}
      }
}

Lásd még