Skapa eller uppdatera indexeraren (förhandsversion av REST API)
Gäller för: 2023-07-01-Preview, 2021-04-30-Preview, 2020-06-30-Preview
Viktigt
2023-07-01-Preview (inga ändringar).
2021-04-30-Preview lägger till stöd för hanterad identitet för berikningscache och krypteringsnycklar:
- "storageConnectionString" accepterar ett resurs-ID för en systemtilldelad hanterad identitetsanslutning till Azure Storage. Den här egenskapen finns under "cache". Användartilldelad hanterad identitet stöds inte.
- "identitet" accepterar en användartilldelad hanterad identitet.
2020-06-30-Preview lägger till:
- "cache", som används för att cachelagrat och återanvända berikat innehåll som skapats av en kompetensuppsättning.
En indexerare automatiserar indexering från datakällor som stöds genom att ansluta till en fördefinierad datakälla, hämta och serialisera data och skicka dem till en söktjänst för datainmatning. För AI-berikning av bild och ostrukturerad text kan indexerare också acceptera en kompetensuppsättning som lägger till bild- och bearbetning av naturligt språk.
Du kan använda post eller PUT på en create-begäran. För båda två innehåller begärandetexten objektdefinitionen.
POST https://[service name].search.windows.net/indexers?api-version=[api-version]
Content-Type: application/json
api-key: [admin key]
För uppdateringsbegäranden använder du PUT och anger indexerarens namn på URI:n.
PUT https://[service name].search.windows.net/indexers/[indexer name]?api-version=[api-version]
Content-Type: application/json
api-key: [admin key]
HTTPS krävs för alla tjänstbegäranden. Om indexeraren inte finns skapas den. Om den redan finns uppdateras den till den nya definitionen, men du måste utfärda en Run Indexer-begäran om du vill köra indexeraren.
När du skapar en indexerare läggs den till i söktjänsten och körs. Om begäran lyckas fylls indexet i med sökbart innehåll från datakällan.
När du uppdaterar en indexerare körs den inte automatiskt, men beroende på dina ändringar och den associerade datakällan kan en återställning och omkörning krävas. När du uppdaterar en befintlig indexerare ersätts hela definitionen med innehållet i begärandetexten. I allmänhet är det bästa mönstret att använda för uppdateringar att hämta indexerarens definition med en GET, ändra den och sedan uppdatera den med PUT.
Indexerarkonfigurationen varierar beroende på typen av datakälla. För dataplattformsspecifik vägledning om hur du skapar indexerare börjar du med indexeringsöversikten, som innehåller den fullständiga listan över relaterade artiklar.
Anteckning
Det maximala antalet indexerare som du kan skapa varierar beroende på prisnivå. Mer information finns i Tjänstbegränsningar för Azure AI Search.
URI-parametrar
Parameter | Beskrivning |
---|---|
tjänstnamn | Krävs. Ange det unika, användardefinierade namnet på söktjänsten. |
indexerarens namn | Krävs på URI:n om du använder PUT. Namnet måste vara gemener, börja med en bokstav eller siffra, har inga snedstreck eller punkter och får innehålla färre än 128 tecken. När du har startat namnet med en bokstav eller siffra kan resten av namnet innehålla valfri bokstav, siffra och bindestreck, så länge bindestrecken inte är i följd. |
api-version | Krävs. Den aktuella förhandsversionen är 2023-07-01-Preview . Fler versioner finns i API-versioner . |
Rubriker för begäran
I följande tabell beskrivs de obligatoriska och valfria begärandehuvudena.
Fält | Description |
---|---|
Content-Type | Krävs. Ange detta till application/json |
api-key | Valfritt om du använder Azure-roller och en ägartoken anges i begäran, annars krävs en nyckel. En API-nyckel är en unik, systemgenererad sträng som autentiserar begäran till söktjänsten. Skapa begäranden måste innehålla en api-key rubrik som är inställd på din administratörsnyckel (till skillnad från en frågenyckel). Mer information finns i Ansluta till Azure AI Search med nyckelautentisering . |
Begärandetext
En datakälla, ett index och en kompetensuppsättning ingår i en indexeringsdefinition , men var och en är en oberoende komponent som kan användas i olika kombinationer. Du kan till exempel använda samma datakälla med flera indexerare, samma index med flera indexerare eller flera indexerare som skriver till ett enda index.
Följande JSON är en övergripande representation av de viktigaste delarna i definitionen.
{
"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",
"cache": { ... },
"schedule" : (optional but runs once immediately if unspecified) { ... },
"parameters" : (optional) {
"batchSize": null,
"maxFailedItems": 0,
"maxFailedItemsPerBatch": 0,
"base64EncodeKeys": null,
"configuration": { }
},
"fieldMappings" : (optional) { ... },
"outputFieldMappings" : (required for AI enrichment) { ... },
"encryptionKey":(optional) { },
"disabled" : (optional) Boolean value indicating whether the indexer is disabled. False by default.
}
Begäran innehåller följande egenskaper:
Egenskap | Beskrivning |
---|---|
name | Krävs. Namnet måste vara gemener, börja med en bokstav eller siffra, har inga snedstreck eller punkter och får innehålla färre än 128 tecken. När du har startat namnet med en bokstav eller siffra kan resten av namnet innehålla valfri bokstav, siffra och bindestreck, så länge bindestrecken inte är i följd. |
beskrivning | Valfritt. Beskrivning av indexeraren. |
dataSourceName | Krävs. Namnet på en befintlig datakälla som tillhandahåller anslutningsinformation och andra egenskaper. |
targetIndexName | Krävs. Namnet på ett befintligt index. |
skillsetName | Krävs för AI-berikning. Namnet på en befintlig kompetensuppsättning. |
Cache | Valfritt för AI-berikning möjliggör återanvändning av oförändrade dokument. |
Schema | Valfritt, men körs en gång omedelbart om det är ospecificerat. |
parameters | Valfritt. Egenskaper för att ändra körningsbeteende. |
fieldMappings | Valfritt. Används när käll- och målfält har olika namn. |
outputFieldMappings | Krävs för AI-berikning. Mappar utdata från en kompetensuppsättning till ett index eller en projektion. |
encryptionKey | Valfritt. Används för att kryptera vilande indexeringsdata med dina egna nycklar som hanteras i azure-Key Vault. Mer information finns i Azure AI Search-kryptering med kundhanterade nycklar i Azure Key Vault. |
Inaktiverad | Valfritt. Booleskt värde som anger om indexeraren är inaktiverad. Falskt som standard. |
Svarsåtgärder
201 Skapades för en lyckad begäran.
Exempel
Exempel: Textbaserad indexerare med schema och parameter
Det här exemplet skapar en indexerare som kopierar data från tabellen som datakällan refererar order-sds
till till indexet enligt ett schema som börjar den orders-idx
1 januari 2022 UTC och körs varje timme. Varje anrop av indexerare lyckas om högst 5 objekt inte kan indexeras i varje batch och högst 10 objekt inte kan indexeras totalt. Fältmappningar ger en datasökväg när fältnamn och typer inte matchar.
{
"name" : "myindexer",
"description" : "a cool indexer",
"dataSourceName" : "orders-ds",
"targetIndexName" : "orders-idx",
"fieldMappings" : [
{
"sourceFieldName" : "content",
"targetFieldName" : "sourceContent"
}
],
"schedule" : { "interval" : "PT1H", "startTime" : "2022-01-01T00:00:00Z" },
"parameters" : { "maxFailedItems" : 10, "maxFailedItemsPerBatch" : 5 }
}
Exempel: Kunskapsuppsättningsindexerare
Det här exemplet visar en AI-berikning, vilket anges av referensen till en kompetensuppsättning och outputFieldMappings som mappar kunskapsutdata till fält i ett sökindex. Kompetensuppsättningar är resurser på hög nivå som definieras separat.
Ny i den här förhandsversionen och gäller endast för kompetensuppsättningar, kan du ange cacheegenskapen för att återanvända dokument som inte påverkas av ändringar i din kompetensuppsättningsdefinition.
{
"name":"demo-indexer",
"dataSourceName" : "demo-data",
"targetIndexName" : "demo-index",
"skillsetName" : "demo-skillset",
"cache" :
{
"storageConnectionString" : "DefaultEndpointsProtocol=https;AccountName=<storage-account-name>;AccountKey=<storage-account-key>;EndpointSuffix=core.windows.net",
"enableReprocessing": true
},
"fieldMappings" : [ ],
"outputFieldMappings" :
[
{
"sourceFieldName" : "/document/organizations",
"targetFieldName" : "organizations"
},
],
"parameters":
{
"maxFailedItems":-1,
"configuration":
{
"dataToExtract": "contentAndMetadata",
"imageAction": "generateNormalizedImages"
}
}
}
Exempel: Berikningscache med en hanterad identitetsanslutning
Det här exemplet illustrerar det anslutningssträng formatet när du använder Azure Active Directory för autentisering. Söktjänsten måste konfigureras för att använda en hanterad identitet. Identiteten måste ha behörigheten "Storage Blob Data Contributor" så att den kan skriva till cachen. Anslutningssträng är det unika resurs-ID:t för ditt lagringskonto och måste innehålla containern som används för att lagra den cachelagrade berikningen.
{
"name":"demo-indexer",
"dataSourceName" : "demodata-ds",
"targetIndexName" : "demo-index",
"skillsetName" : "demo-skillset",
"cache" :
{
"storageConnectionString" : "ResourceId=/subscriptions/<subscription-ID>/resourceGroups/<resource-group-name>/providers/Microsoft.Storage/storageAccounts/<storage-account-name>/<container-name>;",
"enableReprocessing": true
},
"fieldMappings" : [ ],
"outputFieldMappings" : [ ],
"parameters": { }
}
Definitioner
Länk | Description |
---|---|
Cache | Konfigurerar cachelagring för AI-berikning och körning av kompetensuppsättningar. |
encryptionKey | Konfigurerar en anslutning till Azure Key Vault för kundhanterad kryptering. |
fieldMappings | Käll-till-mål-fältmappningar för fält som inte matchar efter namn och typ. |
outputFieldMappings | Mappar noder i ett berikat dokument till fält i ett index. Krävs om du använder kompetensuppsättningar. |
parameters | Konfigurerar en indexerare. Parametrarna omfattar allmänna parametrar och källspecifika parametrar. |
Schema | Anger intervall och frekvens för schemalagd indexeringskörning. |
cache (förhandsversion)
Inkrementell indexering är möjligheten att återanvända berikade dokument i cacheminnet när du bearbetar en kompetensuppsättning. Det vanligaste scenariot är återanvändning av OCR eller bildanalys av bildfiler, vilket kan vara kostsamt och tidskrävande att bearbeta.
"cache" :
{
"storageConnectionString" : "<YOUR-STORAGE-ACCOUNT-CONNECTION-STRING>",
"enableReprocessing": true
}
Cacheobjektet har obligatoriska och valfria egenskaper.
Egenskap | Beskrivning |
---|---|
storageConnectionString | Krävs. Anger det lagringskonto som används för att cachelagra mellanliggande resultat. Med det konto som du anger skapar söktjänsten en blobcontainer med ms-az-search-indexercache prefixet och slutförs med ett GUID som är unikt för indexeraren. Den måste vara inställd på antingen en fullständig åtkomst anslutningssträng som innehåller en nyckel eller det unika resurs-ID:t för ditt lagringskonto för begäranden som autentiseras med hjälp av Azure AD. För att autentisera via Azure AD måste söktjänsten konfigureras för att använda en hanterad identitet och identiteten måste ha behörigheten "Storage Blob Data Contributor". |
enableReprocessing | Valfritt. Boolesk egenskap (true som standard) för att styra bearbetningen av inkommande dokument som redan representeras i cacheminnet. När true (standard) bearbetas dokument som redan finns i cacheminnet när du kör indexeraren igen, förutsatt att kunskapsuppdateringen påverkar dokumentet. När false , bearbetas inte befintliga dokument på nytt, vilket effektivt prioriterar nytt inkommande innehåll framför befintligt innehåll. Du bör bara ange enableReprocessing till false tillfälligt. För att säkerställa konsekvens i hela korpus enableReprocessing bör vara true för det mesta, se till att alla dokument, både nya och befintliga, är giltiga enligt den aktuella kompetensuppsättningsdefinitionen. |
ID | Skrivskyddad. Genereras när cachen har skapats. ID är identifieraren för containern i lagringskontot som ska användas som cache för den här indexeraren. Den här cachen är unik för den här indexeraren och om indexeraren tas bort och återskapas med samma namn ID återskapas den. ID Kan inte anges, den genereras alltid av tjänsten. |
schedule
En indexerare kan också ange ett schema. Utan ett schema körs indexeraren omedelbart när du skickar begäran: ansluta till, crawla och indexera datakällan. I vissa scenarier, inklusive långvariga indexeringsjobb, används scheman för att utöka bearbetningsperioden utöver maxgränsen på 24 timmar. Om det finns ett schema körs indexeraren regelbundet enligt schema. Schemaläggaren är inbyggd. Du kan inte använda en extern schemaläggare. Ett schema har följande attribut:
interval: Krävs. Ett varaktighetsvärde som anger ett intervall eller en period för indexerarens körningar. Det minsta tillåtna intervallet är fem minuter. den längsta är en dag. Det måste formateras som ett XSD-värde för "dayTimeDuration" (en begränsad delmängd av ett ISO 8601-varaktighetsvärde ). Mönstret för detta är:
"P[nD][T[nH][nM]]".
Exempel:PT15M
var 15:e minut,PT2H
var 2:e timme.startTime: Valfritt. En UTC-datetime när indexeraren ska börja köras.
Anteckning
Om en indexerare är inställd på ett visst schema men upprepade gånger misslyckas i samma dokument om och om igen varje gång den körs, börjar indexeraren köras med ett mindre frekvent intervall (upp till maximalt minst en gång var 24:e timme) tills den lyckas igen. Om du tror att du har åtgärdat det problem som gjorde att indexeraren fastnade vid en viss tidpunkt kan du utföra en körning på begäran av indexeraren, och om det lyckas återgår indexeraren till sitt angivna schemaintervall igen.
parametrar
En indexerare kan välja att använda konfigurationsparametrar som ändrar körningsbeteenden. Konfigurationsparametrar avgränsas med kommatecken i indexerarbegäran.
{
"name" : "my-blob-indexer-for-cognitive-search",
... other indexer properties
"parameters" : {
"batchSize": null,
"maxFailedItems": 0,
"maxFailedItemsPerBatch": 0,
"base64EncodeKeys": null,
"configuration" : {
"parsingMode" : "json",
"indexedFileNameExtensions" : ".json, .jpg, .png",
"imageAction" : "generateNormalizedImages",
"dataToExtract" : "contentAndMetadata" } }
}
Allmänna parametrar för alla indexerare
Parameter | Ange och tillåtna värden | Användning |
---|---|---|
"batchSize" |
Integer Standardvärdet är källspecifikt (1 000 för Azure SQL Database och Azure Cosmos DB, 10 för Azure Blob Storage) |
Anger antalet objekt som läss från datakällan och indexeras som en enda batch för att förbättra prestandan. |
"maxFailedItems" |
Integer Standardvärdet är 0 |
Antalet fel som ska tolereras innan en indexerare körs betraktas som ett fel. Ange till -1 om du inte vill att några fel ska stoppa indexeringsprocessen. Du kan hämta information om misslyckade objekt med hjälp av Hämta indexeringsstatus. |
"maxFailedItemsPerBatch" |
Integer Standardvärdet är 0 |
Antalet fel som ska tolereras i varje batch innan en indexerare körs betraktas som ett fel. Ange till -1 om du inte vill att några fel ska stoppa indexeringsprocessen. |
"base64EncodeKeys" |
Boolesk Standardvärdet är sant |
Giltiga värden är null, true eller false. När värdet är falskt kommer indexeraren inte automatiskt att base64 koda värdena för fältet som har angetts som dokumentnyckel. Om du anger den här egenskapen behöver du inte ange en mappningsfunktion som base64 kodar nyckelvärden (till exempel bindestreck) som annars inte är giltiga i en dokumentnyckel. |
Blobkonfigurationsparametrar
Flera parametrar är exklusiva för en viss indexerare, till exempel Azure-blobindexering.
Parameter | Ange och tillåtna värden | Användning |
---|---|---|
"parsingMode" |
Sträng"text" "delimitedText" "json" "jsonArray" "jsonLines" |
För Azure-blobar anger du till text för att förbättra indexeringsprestanda för oformaterade textfiler i Blob Storage. För CSV-blobar anger du till delimitedText när blobar är vanliga CSV-filer. För JSON-blobar anger du till json för att extrahera strukturerat innehåll eller för att jsonArray extrahera enskilda element i en matris som separata dokument i Azure AI Search. Använd jsonLines för att extrahera enskilda JSON-entiteter, avgränsade med en ny rad, som separata dokument i Azure AI Search. |
"excludedFileNameExtensions" |
Sträng kommaavgränsad lista Användardefinierade |
Ignorera alla filtyper i listan för Azure-blobar. Du kan till exempel exkludera ".png, .png, .mp4" för att hoppa över dessa filer under indexeringen. |
"indexedFileNameExtensions" |
Sträng kommaavgränsad lista Användardefinierade |
För Azure-blobar väljer du blobar om filnamnstillägget finns i listan. Du kan till exempel fokusera indexeringen på specifika programfiler ".docx, .pptx, .msg" för att specifikt inkludera dessa filtyper. |
"failOnUnsupportedContentType" |
Boolesk true false (standard) |
För Azure-blobar anger du till false om du vill fortsätta indexeringen när en innehållstyp som inte stöds påträffas och du inte känner till alla innehållstyper (filtillägg) i förväg. |
"failOnUnprocessableDocument" |
Boolesk true false (standard) |
För Azure-blobar anger du till false om du vill fortsätta indexeringen om ett dokument inte indexerar. |
"indexStorageMetadataOnly ForOversizedDocuments" |
Boolesk true false (standard) |
För Azure-blobar anger du den här egenskapen till true att fortfarande indexeras lagringsmetadata för blobinnehåll som är för stort för att bearbetas. Överdimensionerade blobbar behandlas som fel som standard. Begränsningar för blobstorlek finns i Tjänstbegränsningar. |
"delimitedTextHeaders" |
Sträng kommaavgränsad lista Användardefinierade |
För CSV-blobar anger en kommaavgränsad lista med kolumnrubriker som är användbar för att mappa källfält till målfält i ett index. |
"delimitedTextDelimiter" |
Sträng enstaka tecken Användardefinierade |
För CSV-blobar anger avgränsare i slutet av raden för CSV-filer där varje rad startar ett nytt dokument (till exempel "|" ). |
"firstLineContainsHeaders" |
Boolesk true (standard) falskt |
För CSV-blobar anger att den första raden (icke-tom) för varje blob innehåller rubriker. |
"documentRoot" |
Sträng användardefinierad sökväg |
För JSON-matriser, givet ett strukturerat eller halvstrukturerat dokument, kan du ange en sökväg till matrisen med den här egenskapen. |
"dataToExtract" |
Sträng"storageMetadata" "allMetadata" "contentAndMetadata" (standard) |
För Azure-blobar: Ange till för "storageMetadata" att index bara indexeras standardblobegenskaperna och användardefinierade metadata. Ange till "allMetadata" för att extrahera metadata som tillhandahålls av Azure Blob Storage-undersystemet och innehållstypspecifika metadata (till exempel metadata som är unika för bara .png filer) indexeras. Ange till för "contentAndMetadata" att extrahera alla metadata och textinnehåll från varje blob. För bildanalys i AI-berikning, när "imageAction" är inställt på ett annat värde än "none" , "dataToExtract" anger inställningen för indexeraren vilka data som ska extraheras från bildinnehåll. Gäller för inbäddat bildinnehåll i ett .PDF eller annat program, eller bildfiler som .jpg och .png, i Azure-blobar. |
"imageAction" |
Sträng"none" "generateNormalizedImages" "generateNormalizedImagePerPage" |
För Azure-blobar anger du till"none" för att ignorera inbäddade bilder eller bildfiler i datauppsättningen. Det här är standardinställningen. För bildanalys i AI-berikning anger du till "generateNormalizedImages" för att extrahera text från bilder (till exempel ordet "stoppa" från en trafikstoppskylt) och bädda in den som en del av innehållsfältet. Under bildanalysen skapar indexeraren en matris med normaliserade bilder som en del av dokumentknäckningen och bäddar in den genererade informationen i innehållsfältet. Den här åtgärden kräver att "dataToExtract" är inställd på "contentAndMetadata" . En normaliserad bild refererar till ytterligare bearbetning som resulterar i enhetlig bildutdata, storlek och roterad för att främja konsekvent återgivning när du inkluderar bilder i visuella sökresultat (till exempel fotografier av samma storlek i en grafkontroll som visas i JFK-demonstrationen). Den här informationen genereras för varje bild när du använder det här alternativet. Om du anger till "generateNormalizedImagePerPage" behandlas PDF-filer på olika sätt i stället för att extrahera inbäddade bilder, så renderas varje sida som en bild och normaliseras därefter. Filtyper som inte är PDF-filer behandlas på samma sätt som om "generateNormalizedImages" de angavs. Om du ställer in konfigurationen "imageAction" på ett annat värde än "none" kräver det att en kompetensuppsättning också kopplas till indexeraren. |
"normalizedImageMaxWidth" "normalizedImageMaxHeight" |
Alla heltal mellan 50-10000 | Den maximala bredden eller höjden (i bildpunkter) för normaliserade bilder som genereras när en "imageAction" anges. Standardvärdet är 2 000. Standardvärdet på 2 000 bildpunkter för normaliserade bilders maximala bredd och höjd baseras på de maximala storlekar som stöds av OCR-färdigheten och bildanalysfärdigheten. OCR-färdigheten stöder en maximal bredd och höjd på 4 200 för icke-engelska språk och 1 0000 för engelska. Om du ökar maxgränserna kan bearbetningen misslyckas på större bilder beroende på din definition av kompetensuppsättningen och språket i dokumenten. |
"allowSkillsetToReadFileData" |
Boolesk true false (standard) |
Om du anger parametern "allowSkillsetToReadFileData" till true skapas en sökväg /document/file_data som är ett objekt som representerar ursprungliga fildata som laddats ned från din blobdatakälla. På så sätt kan du skicka ursprungliga fildata till en anpassad färdighet för bearbetning i berikningspipelinen eller till färdigheten Extrahering av dokument. Objektet som genereras definieras på följande sätt: { "$type": "file", "data": "BASE64 encoded string of the file" } Om parametern "allowSkillsetToReadFileData" anges till true måste en kompetensuppsättning kopplas till indexeraren, att parametern "parsingMode" är inställd på "default" , "text" eller "json" och att parametern "dataToExtract" är inställd på "contentAndMetadata" eller "allMetadata" . |
"pdfTextRotationAlgorithm" |
Sträng"none" (standard)"detectAngles" |
Om du anger parametern "pdfTextRotationAlgorithm" till "detectAngles" kan det ge bättre och mer läsbar textextrahering från PDF-filer som har roterad text i dem. Observera att prestandahastigheten kan påverkas i liten grad när den här parametern används. Den här parametern gäller endast PDF-filer och endast pdf-filer med inbäddad text. Om den roterade texten visas i en inbäddad bild i PDF-filen gäller inte den här parametern.Om parametern "pdfTextRotationAlgorithm" ska anges till "detectAngles" krävs att parametern "parsingMode" är inställd på "default" . |
Konfigurationsparametrar för Azure Cosmos DB
Följande parametrar är specifika för Cosmos DB-indexerare.
Parameter | Ange och tillåtna värden | Användning |
---|---|---|
"assumeOrderByHighWaterMarkColumn" |
Boolesk | För Cosmos DB-indexerare med SQL API anger du den här parametern för att ge ett tips till Cosmos DB om att frågan som används för att returnera dokument för indexering i själva verket sorteras _ts efter kolumnen. Om du anger den här parametern får du bättre resultat för scenarier med inkrementell indexering. |
Azure SQL konfigurationsparametrar
Följande parametrar är specifika för Azure SQL Database.
Parameter | Ange och tillåtna värden | Användning |
---|---|---|
"queryTimeout" |
Sträng "hh:mm:ss" "00:05:00" |
Ange att den här parametern ska åsidosätta standardvärdet på 5 minuter. |
"convertHighWaterMarkToRowVersion" |
Boolesk | Ställ in den här parametern på "true" om du vill använda datatypen rowversion för kolumnen högvattenmärke. När den här egenskapen är inställd på true subtraherar indexeraren en från radversionsvärdet innan indexeraren körs. Det gör det eftersom vyer med en-till-många-kopplingar kan ha rader med dubbla radversionsvärden. Genom att subtrahera en ser du till att indexerarfrågan inte missar dessa rader. |
"disableOrderByHighWaterMarkColumn" |
Boolesk | Ange den här parametern till "true" om du vill inaktivera beteendet ORDER BY i frågan som används för ändringsidentifiering. Om du använder principen för ändringsidentifiering av högvattenmärke använder indexeraren WHERE- och ORDER BY-satser för att spåra vilka rader som behöver indexering (WHERE [High Water Mark Column] > [Current High Water Mark Value] ORDER BY [High Water Mark Column] ). Den här parametern inaktiverar beteendet ORDER BY. Indexeringen avslutas snabbare, men kompromissen är att om indexeraren avbryts av någon anledning måste hela indexerarjobbet upprepas i sin helhet. |
fieldMappings
Skapa dessa när fältnamn eller typer för källmål inte matchar, eller när du vill ange en funktion. Fältmappningar är skiftlägesokänsliga. Se Definiera fältmappningar.
Attribut | Beskrivning |
---|---|
sourceFieldName | Krävs. Namnet på källkolumnen. |
targetFieldName | Krävs. Namnet på motsvarande fält i sökindexet. |
mappingFunction | Valfritt. Lägger till bearbetning i källvärden på väg till sökmotorn. Ett godtyckligt strängvärde kan till exempel vara base64-kodat så att det kan användas för att fylla i ett dokumentnyckelfält. En mappningsfunktion har ett namn och parametrar. Giltiga värden är: base64Encode base64Decode extractTokenAtPosition jsonArrayToStringCollection urlEncode urlDecode |
outputFieldMappings
Anger kunskapsutdata (eller noder i ett berikande träd) till fält i ett sökindex.
"outputFieldMappings" : [
{
"sourceFieldName" : "/document/organizations",
"targetFieldName" : "organizations"
},
{
"sourceFieldName" : "/document/pages/*/keyPhrases/*",
"targetFieldName" : "keyphrases"
},
{
"sourceFieldName": "/document/languageCode",
"targetFieldName": "language",
"mappingFunction": null
}
],
encryptionKey
Konfigurerar en anslutning till Azure Key Vault för kompletterande kundhanterade krypteringsnycklar (CMK). Kryptering med kundhanterade nycklar är inte tillgängligt för kostnadsfria tjänster. För fakturerbara tjänster är det bara tillgängligt för söktjänster som skapats på eller efter 2019-01-01.
En anslutning till nyckelvalvet måste autentiseras. Du kan använda antingen "accessCredentials" eller en hanterad identitet för detta ändamål.
Hanterade identiteter kan vara system- eller användartilldelade (förhandsversion). Om söktjänsten har både en systemtilldelad hanterad identitet och en rolltilldelning som ger läsåtkomst till nyckelvalvet kan du utelämna både "identitet" och "accessCredentials", och begäran autentiseras med hjälp av den systemhanterade identiteten. Om söktjänsten har användartilldelad identitet och rolltilldelning anger du egenskapen "identitet" till resurs-ID för den identiteten.
Attribut | Beskrivning |
---|---|
keyVaultKeyName | Krävs. Namnet på Den Azure Key Vault-nyckel som används för kryptering. |
keyVaultKeyVersion | Krävs. Version av Azure Key Vault-nyckeln. |
keyVaultUri | Krävs. URI för Azure Key Vault (kallas även DNS-namn) som tillhandahåller nyckeln. Ett exempel på en URI kan vara https://my-keyvault-name.vault.azure.net |
accessCredentials | Utelämna om du använder en hanterad identitet. Annars inkluderar egenskaperna accessCredentials för applicationId (ett Azure Active Directory-program-ID som har åtkomstbehörighet till din angivna Azure-Key Vault) och applicationSecret (autentiseringsnyckeln för det angivna Azure AD-programmet). |
identity | Valfritt om du inte använder en användartilldelad hanterad identitet för söktjänstens anslutning till Azure Key Vault. Formatet är "/subscriptions/[subscription ID]/resourceGroups/[resource group name]/providers/Microsoft.ManagedIdentity/userAssignedIdentities/[managed identity name]" . |