Condividi tramite


Indexers - Create Or Update

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

PUT {endpoint}/indexers('{indexerName}')?api-version=2023-11-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 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.

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. 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
200 OK

SearchIndexer

201 Created

SearchIndexer

Other Status Codes

SearchError

Risposta di errore.

Esempio

SearchServiceCreateOrUpdateIndexer

Esempio di richiesta

PUT https://myservice.search.windows.net/indexers('myindexer')?api-version=2023-11-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'archiviazione BLOB di Azure e indica al indicizzatore quali dati estrarre dal contenuto dell'immagine quando "imageAction" è impostato su un valore diverso da "nessuno". Ciò si applica al contenuto dell'immagine incorporato in un .PDF o in altri file di immagine, ad esempio .jpg e .png, nei BLOB di Azure.

BlobIndexerImageAction

Determina come elaborare immagini incorporate e file di immagine nell'archiviazione BLOB di Azure. L'impostazione della configurazione "imageAction" su qualsiasi valore diverso da "nessuno" richiede che un set di competenze sia collegato 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 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

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 che ha concesso le autorizzazioni di accesso necessarie all'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'archiviazione BLOB di Azure e indica al indicizzatore quali dati estrarre dal contenuto dell'immagine quando "imageAction" è impostato su un valore diverso da "nessuno". Ciò si applica al contenuto dell'immagine incorporato in un .PDF o in altri 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'archiviazione BLOB di Azure. L'impostazione della configurazione "imageAction" su qualsiasi valore diverso da "nessuno" richiede che un set di competenze sia collegato 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 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 delimitatoText 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 delle coppie nome/valore dei parametri 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 ad indicizzare per l'esecuzione dell'indicizzatore da considerare comunque riuscito. -1 indica che non è presente alcun limite. Il valore predefinito è 0.

maxFailedItemsPerBatch

integer

0

Numero massimo di elementi in un singolo batch che può non riuscire ad indicizzazione per il batch da considerare ancora 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 di 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'archiviazione BLOB di Azure e indica al indicizzatore quali dati estrarre dal contenuto dell'immagine quando "imageAction" è impostato su un valore diverso da "nessuno". Ciò si applica al contenuto dell'immagine incorporato in un .PDF o in altri 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 di estensioni del nome file da ignorare durante l'elaborazione dall'archiviazione 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 se un documento ha esito negativo.

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'archiviazione BLOB di Azure. L'impostazione della configurazione "imageAction" su qualsiasi valore diverso da "nessuno" richiede che un set di competenze sia collegato anche a tale indicizzatore.

indexStorageMetadataOnlyForOversizedDocuments

boolean

False

Per i BLOB di Azure, impostare questa proprietà su true su ancora 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 sulle dimensioni del 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'archiviazione 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'archiviazione 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 esecuzioni dell'indicizzatore.

startTime

string

Ora in cui un indicizzatore deve iniziare a eseguire.

SearchError

Descrive una condizione di errore per l'API.

Nome Tipo Descrizione
code

string

Uno di un set definito dal server di codici di errore.

details

SearchError[]

Matrice di dettagli sugli errori specifici che hanno causato l'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 inattivo per la definizione dell'indicizzatore (nonché lo stato di esecuzione dell'indicizzatore) quando si vuole garantire che nessuno, non nemmeno Microsoft, possa decrittografarli. Dopo aver crittografato la definizione dell'indicizzatore, rimarrà sempre crittografato. Il servizio di ricerca ignora 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 sarà influenzata. La crittografia con chiavi gestite dal cliente non è disponibile per i servizi di ricerca gratuiti ed è disponibile solo per i servizi a pagamento creati o dopo 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

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 accedere all'Key Vault di Azure. Non richiesto se si usa invece l'identità gestita.

keyVaultKeyName

string

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

keyVaultKeyVersion

string

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

keyVaultUri

string

URI dell'Key Vault di Azure, noto anche come 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.