Indexers - Create Or Update

Crea un nuovo indicizzatore o aggiorna un indicizzatore, se esiste già.

PUT {endpoint}/indexers('{indexerName}')?api-version=2024-07-01

Parametri dell'URI

Nome In Necessario Tipo Descrizione
endpoint
path True

string

URL dell'endpoint del servizio di ricerca.

indexerName
path True

string

Nome dell'indicizzatore da creare o aggiornare.

api-version
query True

string

Versione dell'API client.

Intestazione della richiesta

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

string

uuid

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

If-Match

string

Definisce la condizione di If-Match. L'operazione verrà eseguita solo se l'ETag nel server corrisponde a questo valore.

If-None-Match

string

Definisce la condizione If-None-Match. L'operazione verrà eseguita solo se l'ETag nel server non corrisponde a questo valore.

Prefer True

string

Per le richieste HTTP PUT, indica al servizio di restituire la risorsa creata/aggiornata in caso di esito positivo.

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. Il valore predefinito è 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
200 OK

SearchIndexer

201 Created

SearchIndexer

Other Status Codes

ErrorResponse

Risposta di errore.

Esempio

SearchServiceCreateOrUpdateIndexer

Esempio di richiesta

PUT https://myservice.search.windows.net/indexers('myindexer')?api-version=2024-07-01


{
  "name": "myindexer",
  "description": "a cool 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": null
  }
}

Risposta di esempio

{
  "name": "myindexer",
  "description": "a cool 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": null
  }
}
{
  "name": "myindexer",
  "description": "a cool 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": 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 di immagini 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 anche 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 da file PDF nell'archivio BLOB di Azure.

ErrorAdditionalInfo

Informazioni aggiuntive sull'errore di gestione delle risorse.

ErrorDetail

Dettagli dell'errore.

ErrorResponse

Risposta di errore

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

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, 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 all'insieme di credenziali delle chiavi 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 di immagini 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 dai metadati specifici del tipo di contenuto( ad esempio, i metadati univoci solo 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 anche 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 del 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'elaborazione aggiuntiva che comporta un output uniforme dell'immagine, ridimensionato e ruotato 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. Si tratta dell'impostazione predefinita.

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 da 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 da file PDF nell'archivio BLOB di Azure.

Nome Tipo Descrizione
detectAngles

string

Può produrre un'estrazione di testo migliore e più leggibile da file PDF che hanno ruotato il testo 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. Si tratta dell'impostazione predefinita.

ErrorAdditionalInfo

Informazioni aggiuntive sull'errore di gestione delle risorse.

Nome Tipo Descrizione
info

object

Informazioni aggiuntive.

type

string

Tipo di informazioni aggiuntive.

ErrorDetail

Dettagli dell'errore.

Nome Tipo Descrizione
additionalInfo

ErrorAdditionalInfo[]

Informazioni aggiuntive sull'errore.

code

string

Codice di errore.

details

ErrorDetail[]

Dettagli dell'errore.

message

string

Messaggio di errore.

target

string

Destinazione dell'errore.

ErrorResponse

Risposta di errore

Nome Tipo Descrizione
error

ErrorDetail

Oggetto error.

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 di 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 ancora correttamente. -1 indica che non esiste alcun limite. Il valore predefinito è 0.

maxFailedItemsPerBatch

integer

0

Numero massimo di elementi in un singolo batch che può non riuscire a eseguire l'indicizzazione per il batch per essere comunque considerato riuscito. -1 indica che non esiste alcun limite. Il valore predefinito è 0.

IndexingParametersConfiguration

Dizionario di 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 del file originale 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 di immagini 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 a 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 anche 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 considerati come errori per impostazione predefinita. Per i limiti relativi alle dimensioni del BLOB, vedere https://video2.skills-academy.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. Ad esempio, è possibile concentrare l'indicizzazione su file dell'applicazione specifici ".docx, .pptx, .msg" per includere in modo specifico tali 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 da file PDF nell'archivio BLOB di Azure.

queryTimeout

string

00:05:00

Aumenta il timeout oltre il valore predefinito di 5 minuti per le origini dati del database SQL di Azure, 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.

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. Il valore predefinito è 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, 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 di Azure Key Vault da usare per crittografare i dati inattivi.

keyVaultKeyVersion

string

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

keyVaultUri

string

L'URI dell'insieme di credenziali delle chiavi di Azure, detto anche nome DNS, che contiene la chiave da usare per crittografare i dati inattivi. Un URI di esempio potrebbe essere https://my-keyvault-name.vault.azure.net.