Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Note
Azure AI Search è disponibile tramite il portale di Azure, le API REST e Azure SDK. È inoltre alla base di Foundry IQ, il livello di conoscenza gestito che trasforma il contenuto aziendale in knowledge base riutilizzabili e con riconoscimento delle autorizzazioni per gli agenti nel portale di Microsoft Foundry.
Impostare la schedule proprietà per configurare gli indicizzatori da eseguire in base a una pianificazione. La pianificazione dell'indicizzatore è utile in situazioni come:
- I dati di origine cambiano nel tempo e si desidera che l'indicizzatore elabori automaticamente le differenze.
- I dati di origine sono molto grandi ed è necessaria una pianificazione ricorrente per indicizzare tutto il contenuto.
- Un indice viene popolato da più fonti tramite più indicizzatori e si desidera scaglionare le attività per ridurre i conflitti.
Quando l'indicizzazione non può essere completata all'interno della tipica finestra di elaborazione di 2 ore, pianificare l'esecuzione dell'indicizzatore su una frequenza di 2 ore per l'utilizzo di un volume elevato di dati. Se l'origine dati supporta la logica di rilevamento delle modifiche, gli indicizzatori possono selezionare automaticamente la posizione in cui sono stati interrotti in ogni esecuzione.
Una volta configurato un indicizzatore con una pianificazione, questo rimane pianificato finché non si cancella l'intervallo o l'ora di inizio, oppure non si imposta disabled su true. Se un indicizzatore pianificato smette di attivare in modo imprevisto, vedere Domande frequenti sul comportamento di pianificazione per i passaggi di ripristino. Lasciare l'indicizzatore in base a una pianificazione quando non c'è nulla da elaborare non influisce sulle prestazioni del sistema. Il controllo del contenuto modificato è un'operazione relativamente veloce.
Prerequisiti
Indicizzatore valido configurato con un'origine dati e un indice.
Rilevamento delle modifiche nell'origine dati. Archiviazione di Azure e SharePoint hanno il rilevamento delle modifiche predefinito. Per altre origini dati, ad esempio Azure SQL e Azure Cosmos DB, è necessario abilitare il rilevamento delle modifiche manualmente.
Definizione pianificazione
Una pianificazione fa parte della definizione dell'indicizzatore. Se si omette la schedule proprietà , l'indicizzatore viene eseguito solo su richiesta. La proprietà ha due parti.
| Proprietà | Descrizione |
|---|---|
| "interval" | (obbligatorio) Intervallo di tempo tra l'inizio di due esecuzioni consecutive dell'indicizzatore. L'intervallo più piccolo consentito è di 5 minuti e il più lungo è 1.440 minuti (24 ore). Formattarlo come valore XSD "dayTimeDuration" (un subset limitato di un valore duration ISO 8601).
Il modello per questo valore è: P(nD)(T(nH)(nM)).
Esempi: PT15M ogni 15 minuti, PT2H ogni due ore. |
| "startTime" | (facoltativo) Specificare l'ora di inizio nell'ora UTC (Coordinated Universal Time). Se si omette questo valore, viene utilizzata l'ora corrente. Può trattarsi di un'ora nel passato, cin tal caso la prima esecuzione viene pianificata come se l'indicizzatore fosse stato continuamente in funzione sin dall'ora di inizio. |
L'esempio seguente presenta una pianificazione che inizia il 1° gennaio a mezzanotte e viene eseguita ogni due ore.
{
"dataSourceName" : "hotels-ds",
"targetIndexName" : "hotels-idx",
"schedule" : { "interval" : "PT2H", "startTime" : "2024-01-01T00:00:00Z" }
}
Configurare la pianificazione
Specificare le pianificazioni in una definizione dell'indicizzatore. Per configurare una pianificazione, usare il portale di Azure, le API REST o un Azure SDK.
- Passare al servizio di ricerca nel portale di Azure.
- Nel riquadro sinistro selezionare Indicizzatori.
- Aprire un indicizzatore.
- Selezionare Impostazioni.
- Scorrere verso il basso fino a Pianificazione, quindi scegliere Oraria, Giornaliera o Personalizzata per impostare una data, un'ora o un intervallo personalizzato specifico.
Passare alla scheda Definizione indicizzatore (JSON) nella parte superiore dell'indice, per visualizzare la definizione di pianificazione in formato XSD.
Domande frequenti sul comportamento di pianificazione
È possibile eseguire più processi dell'indicizzatore in parallelo?
È possibile eseguire più indicizzatori contemporaneamente, ma ogni indicizzatore è una singola istanza. Non è possibile eseguire due copie dello stesso indicizzatore contemporaneamente.
Per l'indicizzazione basata sul testo, l'utilità di pianificazione può avviare un numero di processi dell'indicizzatore pari a quello supportato dal servizio di ricerca, determinato dal numero di unità di ricerca. Ad esempio, se il servizio ha tre repliche e quattro partizioni, è possibile avere 12 processi indicizzatore in esecuzione attiva, sia avviati su richiesta che in base a una pianificazione.
Per l'indicizzazione basata sulle competenze, gli indicizzatori vengono eseguiti in un ambiente di esecuzione specifico. Per questo motivo, il numero di unità di servizio non influisce sul numero di processi indicizzatore basati sulle competenze che è possibile eseguire. È possibile eseguire più indicizzatori basati sulle competenze in parallelo, ma ciò dipende dalla disponibilità del processore di contenuto nell'ambiente di esecuzione.
I processi pianificati vengono sempre avviati all'ora designata?
I processi dell'indicizzatore possono accodarsi e potrebbero non iniziare esattamente al momento della pubblicazione, a seconda del carico di lavoro di elaborazione e di altri fattori. Ad esempio, se un indicizzatore si trova ancora in esecuzione quando deve iniziare l'esecuzione pianificata successiva, l'esecuzione in sospeso viene rinviata fino all'esecuzione pianificata successiva, consentendo così al processo corrente di completarsi.
Per rendere questo comportamento più concreto, considerare l'esempio seguente. Si supponga di aver configurato una pianificazione per un indicizzatore con una frequenza oraria e con ora di inizio fissata al 1° gennaio 2024 alle 8:00:00 UTC. Ecco cosa può accadere quando un'esecuzione dell'indicizzatore richiede più di un'ora:
La prima esecuzione dell'indicizzatore inizia il 1° gennaio 2024 alle 8:00 UTC. Si supponga che l'esecuzione richieda 20 minuti (o qualsiasi quantità di tempo inferiore a 1 ora).
La seconda esecuzione inizia il 1° gennaio 2024 alle 9:00 UTC. Si supponga che questa esecuzione richiede più di un'ora e non viene completata fino alle 10:10 UTC.
La terza esecuzione è pianificata per le 10:00 UTC, ma in quel momento l'esecuzione precedente è ancora in esecuzione. Questa esecuzione pianificata viene quindi ignorata. L'esecuzione successiva dell'indicizzatore non viene avviata fino alle 11:00 UTC.
In casi rari, ad esempio durante la manutenzione o durante il ripristino dopo condizioni transitorie, il sistema mette in coda più esecuzioni dell'indicizzatore. Quando si verifica questa condizione, l'indicizzatore esegue i carichi di lavoro in sospeso in sequenza all'interno della finestra pianificata. Ad esempio, se un indicizzatore è pianificato per l'esecuzione oraria e diverse esecuzioni sono state ritardate o attivate su richiesta, i processi in coda vengono eseguiti di nuovo fino a quando la coda non viene svuotata. Queste esecuzioni non sono esecuzioni aggiuntive, ma rappresentano esecuzioni pianificate o richieste in precedenza. Anche se questo comportamento non è comune nella maggior parte degli scenari, l'indicizzatore è progettato per elaborare tutte le attività in coda per mantenere la coerenza e l'aggiornamento dei dati.
Note
Se si hanno requisiti di esecuzione rigorosi dell'indicizzatore che sono sensibili al tempo, è consigliabile usare il modello API push in modo da poter controllare direttamente la pipeline di indicizzazione.
Cosa accade se l'indicizzazione ha ripetutamente esito negativo nello stesso documento?
Se si imposta un indicizzatore su una determinata pianificazione ma si verifica un errore ripetuto nello stesso documento ogni volta, l'indicizzatore inizia a essere eseguito su un intervallo meno frequente (fino all'intervallo massimo di almeno una volta ogni 2 ore o 24 ore, a seconda di diversi fattori di implementazione) fino a quando non viene nuovamente eseguito correttamente. Se ritieni di aver risolto il problema alla base, esegui manualmente l'indicizzatore. Se l'indicizzazione riesce, l'indicizzatore torna alla normale pianificazione. Se l'indicizzatore non torna alla normale pianificazione dopo un'esecuzione manuale riuscita, consulta la domanda successiva.
Un indicizzatore pianificato ha smesso di attivarsi. Come si reimposta la pianificazione?
Se un indicizzatore pianificato smette di funzionare, disattivalo e quindi riattivalo per reimpostare la pianificazione. Segno che questo ripristino è necessario: non vengono visualizzate nuove esecuzioni nella cronologia di esecuzione anche se la pianificazione è configurata e l'origine dati è stata modificata.
Impostare disabled su true sospende la pianificazione. Reimpostandola su false (o omettendo la proprietà), la programmazione riprende, usando l'ora corrente come nuovo riferimento iniziale per l'intervallo configurato.
- Passare al servizio di ricerca nel portale di Azure.
- Selezionare Indicizzatori.
- Selezionare l'indicizzatore per aprirlo.
- Selezionare Impostazioni.
- Impostare l'indicizzatore su Disabilitato.
- Seleziona Salva.
- Impostare di nuovo l'indicizzatore su Abilitato.
- Seleziona Salva.
- Selezionare la scheda Cronologia di esecuzione e verificare che venga visualizzata una nuova esecuzione entro l'intervallo pianificato successivo.
Note
La riattivazione dell'indicizzatore reimposta la pianificazione in base all'ora corrente, non al valore originale startTime. Ad esempio, se l'intervallo è di due ore e si riattiva alle 15:15, l'esecuzione pianificata successiva è prevista intorno alle 17:15.
Passaggi successivi
Per gli indicizzatori eseguiti in base a una pianificazione, è possibile monitorare le operazioni recuperando lo stato dal servizio di ricerca o ottenere informazioni dettagliate abilitando la registrazione delle risorse.