Vytvoření indexeru (rozhraní REST API služby Azure AI Search)

Indexer automatizuje indexování z podporovaných zdrojů dat Azure, jako jsou Azure Storage, Azure SQL Database a Azure Cosmos DB. Indexery používají předdefinovaný zdroj dat a index k vytvoření kanálu indexování, který extrahuje a serializuje zdrojová data a předává je vyhledávací službě pro příjem dat. Pro rozšíření obrázků a nestrukturovaného textu AI můžou indexery také přijmout sadu dovedností , která definuje zpracování AI.

Vytvoření indexeru ho přidá do vyhledávací služby a spustí ho. Pokud je požadavek úspěšný, naplní se index prohledávatelným obsahem ze zdroje dat.

Na žádost můžete použít post nebo PUT. U obou z nich dokument JSON v textu požadavku poskytuje definici objektu.

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

Případně můžete použít PUT a zadat název indexeru v identifikátoru URI.

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

Https se vyžaduje pro všechny žádosti o služby. Pokud indexer neexistuje, vytvoří se. Pokud už existuje, aktualizuje se na novou definici, ale pokud chcete spustit indexer, musíte vydat požadavek spustit indexer .

Konfigurace indexeru se liší v závislosti na typu zdroje dat. Pokyny k vytváření indexerů pro konkrétní datovou platformu najdete v tématu Přehled indexerů, který obsahuje úplný seznam souvisejících článků.

Parametry identifikátoru URI

Parametr Popis
název služby Povinná hodnota. Nastavte ho na jedinečný uživatelsky definovaný název vaší vyhledávací služby.
název indexeru Vyžaduje se u identifikátoru URI, pokud používáte PUT. Název musí mít malá písmena, musí začínat písmenem nebo číslicí, nesmí mít lomítka ani tečky a musí být kratší než 128 znaků. název musí začínat písmenem nebo číslem, ale zbytek názvu může obsahovat libovolné písmeno, číslo a pomlčky, pokud pomlčky nejsou po sobě jdoucí.
verze-api Povinná hodnota. Seznam podporovaných verzí najdete v tématu Verze rozhraní API .

Hlavičky požadavku

Následující tabulka popisuje požadované a volitelné hlavičky požadavků.

Pole Description
Typ obsahu Povinná hodnota. Nastavte tuto možnost na application/json
api-key Volitelné, pokud používáte role Azure a v požadavku je k dispozici nosný token, jinak se vyžaduje klíč. Požadavky na vytvoření musí obsahovat hlavičku nastavenou api-key na klíč správce (na rozdíl od klíče dotazu). Podrobnosti najdete v tématu Připojení ke službě Azure AI Search pomocí ověřování pomocí klíče .

Text požadavku

Zdroj dat, index a sada dovedností jsou součástí definice indexeru, ale každá z nich je nezávislá komponenta, kterou lze použít v různých kombinacích. Můžete například použít stejný zdroj dat s více indexery nebo stejný index s více indexery nebo více indexerů zapisujících do jednoho indexu.

Následující kód JSON představuje základní reprezentaci hlavních částí definice.

{   
    "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) { }
} 

Požadavek obsahuje následující vlastnosti:

Vlastnost Popis
name Povinná hodnota. Název musí mít malá písmena, musí začínat písmenem nebo číslicí, nesmí mít lomítka ani tečky a musí být kratší než 128 znaků. Název musí začínat písmenem nebo číslem, ale zbytek názvu může obsahovat libovolné písmeno, číslo a pomlčky, pokud pomlčky nejsou po sobě jdoucí.
dataSourceName Povinná hodnota. Název existujícího zdroje dat Často obsahuje vlastnosti, které může indexer použít ke zneužití vlastností zdrojové platformy. Zdroj dat, který předáte indexeru, proto určuje dostupnost určitých vlastností a parametrů, jako je filtrování typů obsahu v objektech blob Azure. nebo časový limit dotazu pro Azure SQL Database.
targetIndexName Povinná hodnota. Název existujícího schématu indexu Definuje kolekci polí obsahující prohledávatelné, filtrovatelné, načítání a další atributy, které určují způsob použití pole. Během indexování indexer prochází zdroj dat, volitelně prolomí dokumenty a extrahuje informace, serializuje výsledky do formátu JSON a indexuje datovou část na základě schématu definovaného pro váš index.
skillsetName Vyžaduje se pro rozšiřování AI. Název existující sady dovedností, jeden na indexer. Stejně jako u zdrojů dat a indexů je sada dovedností nezávislou definicí, kterou připojíte k indexeru. Sadu dovedností můžete znovu použít s jinými indexery, ale každý indexer může vždy používat jenom jednu sadu dovedností.
schedule Volitelné, ale spustí se jednou okamžitě, pokud není zadáno a není zakázáno. Plán obsahuje interval (povinné) a startTime (volitelné). Další informace najdete v tématu Plánování indexeru.

interval určuje, jak často se indexer spouští. Nejmenší povolený interval je pět minut; nejdelší je jeden den. Musí být formátovaná jako hodnota XSD "dayTimeDuration" (omezená podmnožina hodnoty doby trvání ISO 8601 ). Vzor pro toto: "P[nD][T[nH][nM]]". Příklady: PT15M každých 15 minut, PT2H každé 2 hodiny.

startTime je datum a čas UTC, kdy by se měl indexer spustit.
zakázaný Nepovinný parametr. Logická hodnota označující, jestli je indexer zakázaný. Tuto vlastnost nastavte, pokud chcete vytvořit definici indexeru bez okamžitého spuštění. Ve výchozím nastavení nepravda.
parameters Nepovinný parametr. Vlastnosti pro úpravu chování za běhu.

"batchSize" (celé číslo). Určuje počet položek, které jsou načteny ze zdroje dat a indexovány jako jedna dávka, aby se zlepšil výkon. Výchozí hodnota je specifická pro zdroj (1000 pro Azure SQL Database a Azure Cosmos DB, 10 pro Azure Blob Storage).

"maxFailedItems" (celé číslo). Určuje počet chyb, které se mají tolerovat před tím, než se spuštění indexeru považuje za selhání. Výchozí hodnota je 0. Pokud nechcete, aby proces indexování zastavily žádné chyby, nastavte na hodnotu -1. Pomocí funkce Získat stav indexeru načtěte informace o neúspěšných dokumentech.

"maxFailedItemsPerBatch" (celé číslo). Určuje počet chyb, které se mají tolerovat v každé dávce před tím, než se spuštění indexeru považuje za selhání. Výchozí hodnota je 0. Pokud nechcete, aby proces indexování zastavily žádné chyby, nastavte na hodnotu -1.

"base64EncodeKey" (Logická hodnota). Určuje, zda se mají kódovat klíče dokumentu, které obsahují neplatné znaky.

"configuration". Vlastnosti, které se liší v závislosti na zdroji dat.

"executionEnvironment" (řetězec). Přepíše spouštěcí prostředí zvolené interními systémových procesů. Explicitní nastavení spouštěcího prostředí na je Private nutné, pokud indexery přistupují k externím prostředkům přes připojení privátních koncových bodů. Toto nastavení je v části "configuration". Pro příjem dat je toto nastavení platné jenom pro služby, které jsou zřízené jako Basic nebo Standard (S1, S2, S3). Pro zpracování obsahu rozšiřování AI platí toto nastavení pouze pro S2 a S3. Platné hodnoty nerozlišují malá a velká písmena a skládají se z hodnot [null nebo unspecified], Standard (výchozí) nebo Private.
fieldMappings Nepovinný parametr. Explicitně přidruží zdrojové pole k cílovému poli v indexu vyhledávání. Používá se, když zdrojová a cílová pole mají různé názvy nebo typy nebo když chcete zadat funkci. Oddíl fieldMappings obsahuje sourceFieldName (povinné, pole v podkladovém zdroji dat), targetFieldName (povinné, pole v indexu) a volitelné mappingFunction pole pro kódování výstupu. Seznam podporovaných funkcí a příklady najdete v tématu Funkce mapování polí. Obecnější informace najdete v tématu Mapování a transformace polí.
outputFieldMappings Vyžaduje se pro kanál rozšiřování. Mapuje výstup ze sady dovedností do indexu nebo projekce. Oddíl outputFieldMappings obsahuje sourceFieldName (povinné, uzel ve stromu rozšiřování), targetFieldName (povinné, pole v indexu) a volitelné mappingFunction pro kódování výstupu. Seznam podporovaných funkcí a příklady najdete v tématu Funkce mapování polí. Obecnější informace najdete v tématu Postup mapování výstupních polí ze sady dovedností.
šifrovací klíč Nepovinný parametr. Používá se k šifrování neaktivních uložených definic indexeru pomocí vlastních klíčů spravovaných ve službě Azure Key Vault. K dispozici pro fakturovatelné vyhledávací služby vytvořené 1. 1. 2019 nebo později.

Oddíl encryptionKey obsahuje uživatelem definovaný (povinné), systémově vygenerovaný keyVaultKeyNamekeyVaultKeyVersion (povinné) a klíč s poskytnutím keyVaultUri (povinný, označovaný také jako název DNS). Příkladem identifikátoru URI může být "https://my-keyvault-name.vault.azure.net".

Volitelně můžete určit accessCredentials , jestli nepoužíváte spravovanou systémovou identitu. Vlastnosti zahrnují accessCredentialsapplicationId (Microsoft Entra ID ID aplikace, které bylo uděleno přístupové oprávnění k zadané Key Vault Azure) a applicationSecret (ověřovací klíč registrované aplikace). Příklad v další části ukazuje syntaxi.

Parametry konfigurace objektu blob

Několik parametrů je výhradních pro konkrétní indexer, například indexování objektů blob Azure.

Parametr Typ a povolené hodnoty Využití
"parsingMode" Řetězec
"text"
"delimitedText"
"json"
"jsonArray"
"jsonLines"
Pro objekty blob Azure nastavte na text , abyste zlepšili výkon indexování souborů ve formátu prostého textu ve službě Blob Storage.
Pro objekty blob sdíleného svazku clusteru nastavte na hodnotu delimitedText , kdy jsou objekty blob prostými soubory CSV.
Pro objekty blob JSON nastavte na json extrahování strukturovaného obsahu nebo na extrahování jsonArray jednotlivých prvků pole jako samostatných dokumentů ve službě Azure AI Search. Slouží jsonLines k extrakci jednotlivých entit JSON oddělených novým řádkem jako samostatných dokumentů ve službě Azure AI Search.
"excludedFileNameExtensions" Řetězec
Seznam oddělený čárkami
definované uživatelem
V případě objektů blob Azure ignorujte všechny typy souborů v seznamu. Můžete například vyloučit ".png, .png, .mp4" a přeskočit tyto soubory během indexování.
"indexedFileNameExtensions" Řetězec
Seznam oddělený čárkami
definované uživatelem
V případě objektů blob Azure vybere objekty blob, pokud je přípona souboru v seznamu. Můžete se například zaměřit na indexování konkrétních aplikačních souborů ".docx, .pptx, .msg", aby se zahrnuly konkrétně tyto typy souborů.
"failOnUnsupportedContentType" Logická hodnota
true
false (výchozí)
Pro objekty blob Azure nastavte na , false pokud chcete pokračovat v indexování, když se zjistí nepodporovaný typ obsahu a neznáte předem všechny typy obsahu (přípony souborů).
"failOnUnprocessableDocument" Logická hodnota
true
false (výchozí)
Pro objekty blob Azure nastavte na , false pokud chcete pokračovat v indexování, pokud se indexování dokumentu nezdaří.
"indexStorageMetadataOnly
ForOversizedDocuments"
Logická hodnota true
false (výchozí)
V případě objektů blob Azure nastavte tuto vlastnost na , true aby se stále indexují metadata úložiště pro obsah objektů blob, který je příliš velký na zpracování. Objekty blob naddimenzované jsou ve výchozím nastavení považovány za chyby. Omezení velikosti objektu blob najdete v tématu Limity služby.
"delimitedTextHeaders" Řetězec
Seznam oddělený čárkami
definované uživatelem
Pro objekty blob CSV určuje seznam záhlaví sloupců oddělených čárkami, který je užitečný pro mapování zdrojových polí na cílová pole v indexu.
"delimitedTextDelimiter" Řetězec
Jeden znak
definované uživatelem
U objektů blob sdíleného svazku clusteru určuje oddělovač konce řádku pro soubory CSV, kde každý řádek začíná nový dokument (například "|").
"firstLineContainsHeaders" Logická hodnota
true (výchozí)
false (nepravda)
U objektů blob sdíleného svazku clusteru označuje, že první (neprázdný) řádek každého objektu blob obsahuje hlavičky.
"documentRoot" Řetězec
Cesta definovaná uživatelem
U polí JSON můžete u strukturovaného nebo částečně strukturovaného dokumentu určit cestu k poli pomocí této vlastnosti.
"dataToExtract" Řetězec
"storageMetadata"
"allMetadata"
"contentAndMetadata" (výchozí)
Objekty blob Azure:
Pokud chcete indexovat jenom standardní vlastnosti objektu blob a metadata zadaná uživatelem, nastavte na "storageMetadata" hodnotu .
Nastavte na , "allMetadata" aby se extrahovali metadata poskytovaná subsystémem Úložiště objektů blob v Azure a indexují se metadata specifická pro obsah (například metadata jedinečná jenom pro .png soubory).
Pokud chcete extrahovat všechna metadata a textový obsah z každého objektu blob, nastavte na "contentAndMetadata" hodnotu .

Pokud je při analýze obrázků v rozšiřování"imageAction" AI nastavená na jinou hodnotu než "none", "dataToExtract" nastavení říká indexeru, která data se mají extrahovat z obsahu obrázku. Platí pro vložený obsah obrázku v .PDF nebo jiné aplikaci nebo soubory obrázků, jako jsou .jpg a .png, v objektech blob Azure.
"imageAction" Řetězec
"none"
"generateNormalizedImages"
"generateNormalizedImagePerPage"
U objektů blob Azure nastavte na ,"none" aby se ignorovaly vložené obrázky nebo soubory obrázků v datové sadě. Tato možnost je výchozí.

Pro analýzu obrázků v rozšiřování AI nastavte na"generateNormalizedImages" extrahování textu z obrázků (například slovo stop ze značky zastavení provozu) a vložte ho jako součást pole obsahu. Během analýzy obrázků indexer vytvoří pole normalizovaných obrázků jako součást prolomení dokumentu a vygenerované informace vloží do pole obsahu. Tato akce vyžaduje, aby "dataToExtract" byla nastavená na "contentAndMetadata"hodnotu . Normalizovaný obrázek odkazuje na další zpracování, jehož výsledkem je rovnoměrný výstup obrázku, jeho velikost a otočení, aby se podpořilo konzistentní vykreslování při zahrnutí obrázků do vizuálních výsledků hledání (například obrázky stejné velikosti v ovládacím prvku grafu, jak je vidět v ukázce JFK). Při použití této možnosti se tyto informace vygenerují pro každou image.

Pokud nastavíte na "generateNormalizedImagePerPage", se soubory PDF budou zacházet jinak v tom, že místo extrahování vložených obrázků se každá stránka vykresluje jako obrázek a odpovídajícím způsobem normalizuje. Očekává se, že tento proces pro každou stránku bude trvat mnohem déle než "generateNormalizedImages". S typy souborů bez PDF se bude zacházet stejně, jako kdyby "generateNormalizedImages" byly nastaveny.

"imageAction" Nastavení konfigurace na jinou hodnotu vyžaduje"none", aby k indexeru byla připojena také sada dovedností, což může být proces s nízkým výkonem.
"normalizedImageMaxWidth"
"normalizedImageMaxHeight"
Jakékoli celé číslo mezi 50 až 10000 Maximální šířka nebo výška (v pixelech) pro normalizované obrázky vygenerované při "imageAction" nastavení . Výchozí hodnota je 2000.

Výchozí hodnota 2000 pixelů pro maximální šířku a výšku normalizovaných obrázků je založena na maximální velikosti podporované dovedností OCR a schopností analýzy obrázků. Dovednost OCR podporuje maximální šířku a výšku 4200 pro neanglické jazyky a 10000 pro angličtinu. Pokud maximální limity zvýšíte, zpracování větších obrázků může selhat v závislosti na definici sady dovedností a jazyce dokumentů.
"allowSkillsetToReadFileData" Logická hodnota
true
false (výchozí)
Nastavením parametru "allowSkillsetToReadFileData" na true vytvoříte cestu /document/file_data , která představuje objekt představující data původního souboru stažená ze zdroje dat objektů blob. To vám umožní předat původní data souboru vlastní dovednosti pro zpracování v rámci kanálu rozšiřování nebo dovednosti extrakce dokumentů. Vygenerovaný objekt bude definován takto: { "$type": "file", "data": "BASE64 encoded string of the file" }

Nastavení parametru "allowSkillsetToReadFileData" na true vyžaduje, aby byla k danému indexeru připojena sada dovedností a aby parametr "parsingMode" byl nastavený na "default", "text" nebo "json".
"pdfTextRotationAlgorithm" Řetězec
"none" (výchozí)
"detectAngles"
Nastavení parametru "pdfTextRotationAlgorithm" na by mohlo pomoct "detectAngles" zajistit lepší a čitelnější extrakci textu ze souborů PDF, které v nich otočily text. Všimněte si, že při použití tohoto parametru může dojít k malému snížení výkonu. Tento parametr platí pouze pro soubory PDF a pouze pro soubory PDF s vloženým textem. Pokud se otočený text zobrazí ve vloženém obrázku v PDF, tento parametr se nepoužije.

Nastavení parametru "pdfTextRotationAlgorithm" na vyžaduje "detectAngles" , aby parametr "parsingMode" byl nastavený na "default"hodnotu .

Parametry konfigurace služby Azure Cosmos DB

Následující parametry jsou specifické pro indexery Cosmos DB.

Parametr Typ a povolené hodnoty Využití
"assumeOrderByHighWaterMarkColumn" Logická hodnota U indexerů cosmos DB s rozhraním SQL API nastavte tento parametr tak, aby služba Cosmos DB napověděla, že dotaz použitý k vrácení dokumentů k indexování je ve skutečnosti seřazený podle _ts sloupce. Nastavením tohoto parametru získáte lepší výsledky pro scénáře přírůstkového indexování.

parametry konfigurace Azure SQL

Následující parametry jsou specifické pro Azure SQL Database.

Parametr Typ a povolené hodnoty Využití
"queryTimeout" Řetězec
"hh:mm:ss"
"00:05:00"
U Azure SQL Database nastavte tento parametr, aby se časový limit zvýšil nad výchozí 5 minut.
"convertHighWaterMarkToRowVersion" Logická hodnota Nastavením tohoto parametru na hodnotu true použijete datový typ rowversion pro sloupec s vysokou hladinou. Pokud je tato vlastnost nastavena na hodnotu true, indexer odečte hodnotu od hodnoty rowversion před spuštěním indexeru. Dělá to proto, že zobrazení se spojeními 1:N můžou obsahovat řádky s duplicitními hodnotami rowversion. Odečtením hodnoty zajistíte, že dotaz indexeru tyto řádky neunikne.
"disableOrderByHighWaterMarkColumn" Logická hodnota Pokud chcete zakázat chování ORDER BY v dotazu používaném pro detekci změn, nastavte tento parametr na hodnotu true. Pokud používáte zásadu detekce změn s vysokou hladinou, použije indexer klauzule WHERE a ORDER BY ke sledování, které řádky potřebují indexování (WHERE [High Water Mark Column] > [Current High Water Mark Value] ORDER BY [High Water Mark Column]). Tento parametr zakáže chování ORDER BY. Indexování se dokončí rychleji, ale kompromisem je, že pokud je indexer z nějakého důvodu přerušen, musí se celá úloha indexeru opakovat v plném rozsahu.

Odpověď

201 Vytvořeno pro úspěšnou žádost.

Příklady

Příklad: Indexer s parametry plánu a obecnými parametry

Vytvoří indexer, který kopíruje data z tabulky, na kterou ordersds odkazuje zdroj dat, do indexu orders podle plánu, který začíná 1. ledna 2021 UTC a běží každou hodinu. Každé vyvolání indexeru bude úspěšné, pokud se v každé dávce nepodaří indexovat více než 5 položek a celkem se nepodaří indexovat více než 10 položek.

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

Poznámka

Pokud je indexer nastavený na určitý plán, ale opakovaně selhává ve stejném dokumentu znovu a znovu při každém spuštění, začne indexer běžet v méně častém intervalu (maximálně jednou za 24 hodin), dokud nebude znovu úspěšně pokračovat. Pokud se domníváte, že jste opravili jakýkoli problém, který způsoboval, že se indexer v určitém okamžiku zasekl, můžete provést resetování indexeru následované spuštěním na vyžádání, a pokud to úspěšně dosáhne průběhu, vrátí se indexer znovu do nastaveného naplánovaného intervalu.

Příklad: Indexer s parametry objektu blob

Indexer může volitelně přijímat parametry konfigurace, které upravují chování za běhu. Parametry konfigurace jsou v požadavku indexeru oddělené čárkami a jsou specifické pro typ zdroje dat. Následující parametry konfigurace obsahují pokyny, které se používají k indexování objektů blob.

  {
    "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říklad: Indexer s mapováním polí

Namapovat pole _id zdrojové tabulky na "id" pole ve vyhledávacím indexu. Azure AI Search neumožňuje, aby název pole začínal podtržítkem. Mapování polí může vyřešit nesrovnalosti v názvu. Názvy zdrojových i cílových polí nerozlišují velká a malá písmena. Další informace najdete v tématu Mapování polí a transformace.

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

Příklad: Indexer s rozšířením AI

Ukazuje obohacení AI označené odkazem na skillset a outputFieldMappings. Sady dovedností jsou základní zdroje definované samostatně. Tento příklad je zkratkou definice indexeru v kurzu rozšiřování AI.

{
  "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říklad: Indexer se sadou dovedností a mapováním výstupních polí

Ve scénářích rozšiřování AI , ve kterých je sada dovedností svázaná s indexerem, musíte přidat outputFieldMappings k přidružení jakéhokoli výstupu kroku rozšiřování, který poskytuje obsah k prohledávatelným polím v indexu. Je sourceFieldName uzel ve stromu rozšiřování. Může se jednat o složenou strukturu vytvořenou během rozšiřování ze dvou samostatných polí ve zdrojovém dokumentu. Je targetFieldName pole ve vyhledávacím indexu. Další informace najdete v tématu Mapování výstupních polí ze sady dovedností.

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

Příklad: Šifrovací klíče

Šifrovací klíče jsou klíče spravované zákazníkem, které slouží k dalšímu šifrování. Další informace najdete v tématu Šifrování pomocí klíčů spravovaných zákazníkem v 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)"}
      }
}

Viz také