Indexers - Create

Crea un nuovo indicizzatore.

POST {endpoint}/indexers?api-version=2023-11-01

Parametri dell'URI

Nome In Necessario Tipo Descrizione
endpoint
path True

string

URL dell'endpoint del servizio di ricerca.

api-version
query True

string

Versione api client.

Intestazione della richiesta

Nome Necessario Tipo Descrizione
x-ms-client-request-id

string

uuid

ID di rilevamento inviato con la richiesta di assistenza per il debug.

Corpo della richiesta

Nome Necessario Tipo Descrizione
dataSourceName True

string

Nome dell'origine dati da cui questo indicizzatore legge i dati.

name True

string

Nome dell'indicizzatore.

targetIndexName True

string

Nome dell'indice in cui questo indicizzatore scrive i dati.

@odata.etag

string

ETag dell'indicizzatore.

description

string

Descrizione dell'indicizzatore.

disabled

boolean

Valore che indica se l'indicizzatore è disabilitato. L'impostazione predefinita è false.

encryptionKey

SearchResourceEncryptionKey

Descrizione di una chiave di crittografia creata in Azure Key Vault. Questa chiave viene usata per fornire un livello aggiuntivo di crittografia dei dati inattivi per la definizione dell'indicizzatore (nonché lo stato di esecuzione dell'indicizzatore) quando si vuole garantire che nessuno, nemmeno Microsoft, possa decrittografarli. Dopo aver crittografato la definizione dell'indicizzatore, rimarrà sempre crittografata. Il servizio di ricerca ignorerà i tentativi di impostare questa proprietà su Null. È possibile modificare questa proprietà in base alle esigenze se si vuole ruotare la chiave di crittografia; La definizione dell'indicizzatore e lo stato di esecuzione dell'indicizzatore non saranno interessati. La crittografia con chiavi gestite dal cliente non è disponibile per i servizi di ricerca gratuiti ed è disponibile solo per i servizi a pagamento creati il 1° gennaio 2019.

fieldMappings

FieldMapping[]

Definisce i mapping tra i campi nell'origine dati e i campi di destinazione corrispondenti nell'indice.

outputFieldMappings

FieldMapping[]

I mapping dei campi di output vengono applicati dopo l'arricchimento e immediatamente prima dell'indicizzazione.

parameters

IndexingParameters

Parametri per l'esecuzione dell'indicizzatore.

schedule

IndexingSchedule

Pianificazione per questo indicizzatore.

skillsetName

string

Nome del set di competenze in esecuzione con questo indicizzatore.

Risposte

Nome Tipo Descrizione
201 Created

SearchIndexer

Other Status Codes

SearchError

Risposta di errore.

Esempio

SearchServiceCreateIndexer

Sample Request

POST https://myservice.search.windows.net/indexers?api-version=2023-11-01

{
  "name": "myindexer",
  "description": "an indexer",
  "dataSourceName": "mydatasource",
  "targetIndexName": "orders",
  "schedule": {
    "interval": "PT1H",
    "startTime": "2015-01-01T00:00:00Z"
  },
  "parameters": {
    "maxFailedItems": 10,
    "maxFailedItemsPerBatch": 5
  },
  "encryptionKey": {
    "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault",
    "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString",
    "keyVaultUri": "https://myKeyVault.vault.azure.net",
    "accessCredentials": {
      "applicationId": "00000000-0000-0000-0000-000000000000",
      "applicationSecret": "<applicationSecret>"
    }
  }
}

Sample Response

{
  "name": "myindexer",
  "description": "an indexer",
  "dataSourceName": "mydatasource",
  "targetIndexName": "orders",
  "schedule": {
    "interval": "PT1H",
    "startTime": "2015-01-01T00:00:00Z"
  },
  "parameters": {
    "maxFailedItems": 10,
    "maxFailedItemsPerBatch": 5
  },
  "fieldMappings": [],
  "disabled": false,
  "encryptionKey": {
    "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault",
    "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString",
    "keyVaultUri": "https://myKeyVault.vault.azure.net",
    "accessCredentials": {
      "applicationId": "00000000-0000-0000-0000-000000000000",
      "applicationSecret": null
    }
  }
}

Definizioni

Nome Descrizione
AzureActiveDirectoryApplicationCredentials

Credenziali di un'applicazione registrata creata per il servizio di ricerca, usata per l'accesso autenticato alle chiavi di crittografia archiviate in Azure Key Vault.

BlobIndexerDataToExtract

Specifica i dati da estrarre dall'archivio BLOB di Azure e indica all'indicizzatore quali dati estrarre dal contenuto dell'immagine quando "imageAction" è impostato su un valore diverso da "nessuno". Questo vale per il contenuto immagine incorporato in un .PDF o in un'altra applicazione o file di immagine, ad esempio .jpg e .png, nei BLOB di Azure.

BlobIndexerImageAction

Determina come elaborare immagini incorporate e file di immagine nell'archivio BLOB di Azure. L'impostazione della configurazione "imageAction" su qualsiasi valore diverso da "none" richiede l'associazione di un set di competenze a tale indicizzatore.

BlobIndexerParsingMode

Rappresenta la modalità di analisi per l'indicizzazione da un'origine dati BLOB di Azure.

BlobIndexerPDFTextRotationAlgorithm

Determina l'algoritmo per l'estrazione di testo dai file PDF nell'archivio BLOB di Azure.

FieldMapping

Definisce un mapping tra un campo in un'origine dati e un campo di destinazione in un indice.

FieldMappingFunction

Rappresenta una funzione che trasforma un valore da un'origine dati prima dell'indicizzazione.

IndexerExecutionEnvironment

Specifica l'ambiente in cui deve essere eseguito l'indicizzatore.

IndexingParameters

Rappresenta i parametri per l'esecuzione dell'indicizzatore.

IndexingParametersConfiguration

Dizionario delle proprietà di configurazione specifiche dell'indicizzatore. Ogni nome è il nome di una proprietà specifica. Ogni valore deve essere di un tipo primitivo.

IndexingSchedule

Rappresenta una pianificazione per l'esecuzione dell'indicizzatore.

SearchError

Descrive una condizione di errore per l'API.

SearchIndexer

Rappresenta un indicizzatore.

SearchResourceEncryptionKey

Una chiave di crittografia gestita dal cliente in Azure Key Vault. Le chiavi create e gestite possono essere usate per crittografare o decrittografare i dati inattivi nel servizio di ricerca, ad esempio indici e mappe sinonimi.

AzureActiveDirectoryApplicationCredentials

Credenziali di un'applicazione registrata creata per il servizio di ricerca, usata per l'accesso autenticato alle chiavi di crittografia archiviate in Azure Key Vault.

Nome Tipo Descrizione
applicationId

string

ID applicazione AAD a cui sono state concesse le autorizzazioni di accesso necessarie per l'Key Vault di Azure da usare durante la crittografia dei dati inattivi. L'ID applicazione non deve essere confuso con l'ID oggetto per l'applicazione AAD.

applicationSecret

string

Chiave di autenticazione dell'applicazione AAD specificata.

BlobIndexerDataToExtract

Specifica i dati da estrarre dall'archivio BLOB di Azure e indica all'indicizzatore quali dati estrarre dal contenuto dell'immagine quando "imageAction" è impostato su un valore diverso da "nessuno". Questo vale per il contenuto immagine incorporato in un .PDF o in un'altra applicazione o file di immagine, ad esempio .jpg e .png, nei BLOB di Azure.

Nome Tipo Descrizione
allMetadata

string

Estrae i metadati forniti dal sottosistema di archiviazione BLOB di Azure e i metadati specifici del tipo di contenuto, ad esempio i metadati univoci per .png file vengono indicizzati.

contentAndMetadata

string

Estrae tutti i metadati e il contenuto testuale da ogni BLOB.

storageMetadata

string

Indicizza solo le proprietà del BLOB standard e i metadati specificati dall'utente.

BlobIndexerImageAction

Determina come elaborare immagini incorporate e file di immagine nell'archivio BLOB di Azure. L'impostazione della configurazione "imageAction" su qualsiasi valore diverso da "none" richiede l'associazione di un set di competenze a tale indicizzatore.

Nome Tipo Descrizione
generateNormalizedImagePerPage

string

Estrae testo dalle immagini (ad esempio, la parola "STOP" da un segno di arresto del traffico) e la incorpora nel campo contenuto, ma considera i file PDF in modo diverso in quanto ogni pagina verrà sottoposta a rendering come immagine e normalizzata di conseguenza, anziché estrarre immagini incorporate. I tipi di file non PDF verranno trattati come se fosse impostato "generateNormalizedImages".

generateNormalizedImages

string

Estrae testo dalle immagini (ad esempio, la parola "STOP" da un segno di arresto del traffico) e la incorpora nel campo contenuto. Questa azione richiede che "dataToExtract" sia impostato su "contentAndMetadata". Un'immagine normalizzata si riferisce a un'ulteriore elaborazione, con conseguente output uniforme dell'immagine, ridimensionata e ruotata per promuovere il rendering coerente quando si includono immagini nei risultati della ricerca visiva. Queste informazioni vengono generate per ogni immagine quando si usa questa opzione.

none

string

Ignora le immagini incorporate o i file di immagine nel set di dati. Questo è il valore predefinito.

BlobIndexerParsingMode

Rappresenta la modalità di analisi per l'indicizzazione da un'origine dati BLOB di Azure.

Nome Tipo Descrizione
default

string

Impostare su impostazione predefinita per l'elaborazione normale dei file.

delimitedText

string

Impostare su delimitedText quando i BLOB sono file CSV semplici.

json

string

Impostare su json per estrarre contenuto strutturato dai file JSON.

jsonArray

string

Impostare su jsonArray per estrarre singoli elementi di una matrice JSON come documenti separati.

jsonLines

string

Impostare su jsonLines per estrarre singole entità JSON, separate da una nuova riga, come documenti separati.

text

string

Impostare su testo per migliorare le prestazioni di indicizzazione nei file di testo normale nell'archiviazione BLOB.

BlobIndexerPDFTextRotationAlgorithm

Determina l'algoritmo per l'estrazione di testo dai file PDF nell'archivio BLOB di Azure.

Nome Tipo Descrizione
detectAngles

string

Può produrre un'estrazione di testo migliore e leggibile da file PDF con testo ruotato all'interno di essi. Si noti che può verificarsi un impatto ridotto sulla velocità delle prestazioni quando si usa questo parametro. Questo parametro si applica solo ai file PDF e solo ai PDF con testo incorporato. Se il testo ruotato viene visualizzato all'interno di un'immagine incorporata nel PDF, questo parametro non si applica.

none

string

Sfrutta l'estrazione di testo normale. Questo è il valore predefinito.

FieldMapping

Definisce un mapping tra un campo in un'origine dati e un campo di destinazione in un indice.

Nome Tipo Descrizione
mappingFunction

FieldMappingFunction

Funzione da applicare a ogni valore del campo di origine prima dell'indicizzazione.

sourceFieldName

string

Nome del campo nell'origine dati.

targetFieldName

string

Nome del campo di destinazione nell'indice. Uguale al nome del campo di origine per impostazione predefinita.

FieldMappingFunction

Rappresenta una funzione che trasforma un valore da un'origine dati prima dell'indicizzazione.

Nome Tipo Descrizione
name

string

Nome della funzione di mapping dei campi.

parameters

object

Dizionario di coppie nome/valore di parametro da passare alla funzione. Ogni valore deve essere di un tipo primitivo.

IndexerExecutionEnvironment

Specifica l'ambiente in cui deve essere eseguito l'indicizzatore.

Nome Tipo Descrizione
private

string

Indica che l'indicizzatore deve essere eseguito con l'ambiente di cui è stato effettuato il provisioning in modo specifico per il servizio di ricerca. Deve essere specificato come ambiente di esecuzione solo se l'indicizzatore deve accedere in modo sicuro alle risorse tramite collegamenti privati condivisi.

standard

string

Indica che il servizio di ricerca può determinare dove deve essere eseguito l'indicizzatore. Si tratta dell'ambiente predefinito quando non viene specificato nulla ed è il valore consigliato.

IndexingParameters

Rappresenta i parametri per l'esecuzione dell'indicizzatore.

Nome Tipo Valore predefinito Descrizione
batchSize

integer

Numero di elementi letti dall'origine dati e indicizzati come singolo batch per migliorare le prestazioni. Il valore predefinito dipende dal tipo di origine dati.

configuration

IndexingParametersConfiguration

Dizionario delle proprietà di configurazione specifiche dell'indicizzatore. Ogni nome è il nome di una proprietà specifica. Ogni valore deve essere di un tipo primitivo.

maxFailedItems

integer

0

Numero massimo di elementi che possono non riuscire a eseguire l'indicizzazione per l'esecuzione dell'indicizzatore per essere comunque considerati riusciti. -1 indica che non è presente alcun limite. Il valore predefinito è 0.

maxFailedItemsPerBatch

integer

0

Numero massimo di elementi in un singolo batch che può avere esito negativo nell'indicizzazione per il batch per essere comunque considerato riuscito. -1 indica che non è presente alcun limite. Il valore predefinito è 0.

IndexingParametersConfiguration

Dizionario delle proprietà di configurazione specifiche dell'indicizzatore. Ogni nome è il nome di una proprietà specifica. Ogni valore deve essere di un tipo primitivo.

Nome Tipo Valore predefinito Descrizione
allowSkillsetToReadFileData

boolean

False

Se true, creerà un percorso //document//file_data che rappresenta i dati del file originale scaricati dall'origine dati BLOB. In questo modo è possibile passare i dati dei file originali a una competenza personalizzata per l'elaborazione all'interno della pipeline di arricchimento o alla competenza Estrazione documenti.

dataToExtract

BlobIndexerDataToExtract

contentAndMetadata

Specifica i dati da estrarre dall'archivio BLOB di Azure e indica all'indicizzatore quali dati estrarre dal contenuto dell'immagine quando "imageAction" è impostato su un valore diverso da "nessuno". Questo vale per il contenuto immagine incorporato in un .PDF o in un'altra applicazione o file di immagine, ad esempio .jpg e .png, nei BLOB di Azure.

delimitedTextDelimiter

string

Per i BLOB CSV, specifica il delimitatore di caratteri singoli di fine riga per i file CSV in cui ogni riga avvia un nuovo documento , ad esempio "|".

delimitedTextHeaders

string

Per i BLOB CSV, specifica un elenco delimitato da virgole di intestazioni di colonna, utile per il mapping dei campi di origine ai campi di destinazione in un indice.

documentRoot

string

Per le matrici JSON, dato un documento strutturato o semistrutturato, è possibile specificare un percorso della matrice usando questa proprietà.

excludedFileNameExtensions

string

Elenco delimitato da virgole delle estensioni del nome file da ignorare durante l'elaborazione dall'archivio BLOB di Azure. Ad esempio, è possibile escludere ".png, .mp4" per ignorare tali file durante l'indicizzazione.

executionEnvironment

IndexerExecutionEnvironment

standard

Specifica l'ambiente in cui deve essere eseguito l'indicizzatore.

failOnUnprocessableDocument

boolean

False

Per i BLOB di Azure, impostare su false se si vuole continuare l'indicizzazione in caso di errore di indicizzazione di un documento.

failOnUnsupportedContentType

boolean

False

Per i BLOB di Azure, impostare su false se si vuole continuare l'indicizzazione quando viene rilevato un tipo di contenuto non supportato e non si conoscono tutti i tipi di contenuto (estensioni di file) in anticipo.

firstLineContainsHeaders

boolean

True

Per i BLOB CSV, indica che la prima riga (non vuota) di ogni BLOB contiene intestazioni.

imageAction

BlobIndexerImageAction

none

Determina come elaborare immagini incorporate e file di immagine nell'archivio BLOB di Azure. L'impostazione della configurazione "imageAction" su qualsiasi valore diverso da "none" richiede l'associazione di un set di competenze a tale indicizzatore.

indexStorageMetadataOnlyForOversizedDocuments

boolean

False

Per i BLOB di Azure, impostare questa proprietà su true per indicizzare i metadati di archiviazione per il contenuto BLOB troppo grande da elaborare. I BLOB sovradimensionati vengono gestiti come errori per impostazione predefinita. Per i limiti relativi alle dimensioni dei BLOB, vedere https://docs.microsoft.com/azure/search/search-limits-quotas-capacity.

indexedFileNameExtensions

string

Elenco delimitato da virgole delle estensioni del nome file da selezionare durante l'elaborazione dall'archivio BLOB di Azure. Si potrebbe ad esempio concentrare l'indicizzazione su specifici file dell'applicazione, come ".docx, .pptx, .msg", per includere specificamente questi tipi di file.

parsingMode

BlobIndexerParsingMode

default

Rappresenta la modalità di analisi per l'indicizzazione da un'origine dati BLOB di Azure.

pdfTextRotationAlgorithm

BlobIndexerPDFTextRotationAlgorithm

none

Determina l'algoritmo per l'estrazione di testo dai file PDF nell'archivio BLOB di Azure.

queryTimeout

string

00:05:00

Aumenta il timeout oltre il valore predefinito di 5 minuti per Azure SQL origini dati del database, specificato nel formato "hh:mm:ss".

IndexingSchedule

Rappresenta una pianificazione per l'esecuzione dell'indicizzatore.

Nome Tipo Descrizione
interval

string

Intervallo di tempo tra le esecuzioni dell'indicizzatore.

startTime

string

Ora di avvio dell'esecuzione di un indicizzatore.

SearchError

Descrive una condizione di errore per l'API.

Nome Tipo Descrizione
code

string

Uno dei set definiti dal server di codici di errore.

details

SearchError[]

Matrice di dettagli sugli errori specifici che hanno causato questo errore segnalato.

message

string

Rappresentazione leggibile dell'errore.

SearchIndexer

Rappresenta un indicizzatore.

Nome Tipo Valore predefinito Descrizione
@odata.etag

string

ETag dell'indicizzatore.

dataSourceName

string

Nome dell'origine dati da cui questo indicizzatore legge i dati.

description

string

Descrizione dell'indicizzatore.

disabled

boolean

False

Valore che indica se l'indicizzatore è disabilitato. L'impostazione predefinita è false.

encryptionKey

SearchResourceEncryptionKey

Descrizione di una chiave di crittografia creata in Azure Key Vault. Questa chiave viene usata per fornire un livello aggiuntivo di crittografia dei dati inattivi per la definizione dell'indicizzatore (nonché lo stato di esecuzione dell'indicizzatore) quando si vuole garantire che nessuno, nemmeno Microsoft, possa decrittografarli. Dopo aver crittografato la definizione dell'indicizzatore, rimarrà sempre crittografata. Il servizio di ricerca ignorerà i tentativi di impostare questa proprietà su Null. È possibile modificare questa proprietà in base alle esigenze se si vuole ruotare la chiave di crittografia; La definizione dell'indicizzatore e lo stato di esecuzione dell'indicizzatore non saranno interessati. La crittografia con chiavi gestite dal cliente non è disponibile per i servizi di ricerca gratuiti ed è disponibile solo per i servizi a pagamento creati il 1° gennaio 2019.

fieldMappings

FieldMapping[]

Definisce i mapping tra i campi nell'origine dati e i campi di destinazione corrispondenti nell'indice.

name

string

Nome dell'indicizzatore.

outputFieldMappings

FieldMapping[]

I mapping dei campi di output vengono applicati dopo l'arricchimento e immediatamente prima dell'indicizzazione.

parameters

IndexingParameters

Parametri per l'esecuzione dell'indicizzatore.

schedule

IndexingSchedule

Pianificazione per questo indicizzatore.

skillsetName

string

Nome del set di competenze in esecuzione con questo indicizzatore.

targetIndexName

string

Nome dell'indice in cui questo indicizzatore scrive i dati.

SearchResourceEncryptionKey

Una chiave di crittografia gestita dal cliente in Azure Key Vault. Le chiavi create e gestite possono essere usate per crittografare o decrittografare i dati inattivi nel servizio di ricerca, ad esempio indici e mappe sinonimi.

Nome Tipo Descrizione
accessCredentials

AzureActiveDirectoryApplicationCredentials

Credenziali facoltative di Azure Active Directory usate per l'accesso ad Azure Key Vault. Non obbligatorio se invece si usa l'identità gestita.

keyVaultKeyName

string

Nome della chiave Key Vault di Azure da usare per crittografare i dati inattivi.

keyVaultKeyVersion

string

Versione della chiave Key Vault di Azure da usare per crittografare i dati inattivi.

keyVaultUri

string

L'URI del Key Vault di Azure, detto anche nome DNS, che contiene la chiave da usare per crittografare i dati inattivi. Un URI di esempio può essere https://my-keyvault-name.vault.azure.net.