Condividi tramite


Monitorare lo stato dell'indicizzatore e i risultati in Azure AI Search

È possibile monitorare l'elaborazione dell'indicizzatore nel portale di Azure o a livello di programmazione tramite chiamate REST o SDK Azure. Oltre allo stato dell'indicizzatore stesso, è possibile esaminare l'ora di inizio e di fine e gli errori dettagliati e gli avvisi di una determinata esecuzione.

Eseguire il monitoraggio con il portale di Azure

È possibile visualizzare lo stato corrente di tutti gli indicizzatori nella pagina di panoramica del servizio di ricerca. Le pagine del portale vengono aggiornate ogni pochi minuti, quindi non verranno visualizzate immediatamente le prove di un nuovo indicizzatore. Selezionare Aggiorna nella parte superiore della pagina per recuperare immediatamente la visualizzazione più recente.

Elenco indicizzatori

Stato Descrizione
In corso Indica l'esecuzione attiva. il portale di Azure indecherà informazioni parziali. Con l'avanzamento dell'indicizzazione, è possibile osservare la crescita del valore Documenti completati. Gli indicizzatori che elaborano grandi volumi di dati possono richiedere molto tempo per l'esecuzione. Ad esempio, gli indicizzatori che gestiscono milioni di documenti di origine possono essere in esecuzione per 24 ore e poi riavviarsi quasi immediatamente per riprendere da dove si erano interrotti. Di conseguenza, lo stato per gli indicizzatori con volumi elevati potrebbe sempre indicare In corso nella portale di Azure. Anche quando un indicizzatore è in esecuzione, sono disponibili dettagli sullo stato di avanzamento attuale e sulle esecuzioni precedenti.
Success Indica che l'esecuzione è riuscita. L'esecuzione di un indicizzatore può avere esito positivo anche se i singoli documenti presentano errori, se il numero di errori è minore rispetto a quanto configurato nell’impostazione Numero massimo di elementi non riusciti dell'indicizzatore.
Non riuscito Il numero di errori ha superato il numero massimo di elementi non riusciti e l'indicizzazione si è arrestata.
Reimposta Lo stato interno del rilevamento delle modifiche dell'indicizzatore è stato reimpostato. L'indicizzatore verrà eseguito in modo completo, aggiornando tutti i documenti e non solo quelli con i timestamp più recenti.

È possibile selezionare un indicizzatore nell'elenco per visualizzare altri dettagli sulle esecuzioni correnti e recenti dell'indicizzatore.

Riepilogo dell'indicizzatore e cronologia di esecuzione

Il grafico di riepilogo dell'indicizzatore mostra il numero di documenti elaborati nelle esecuzioni più recenti.

L'elenco Dettagli esecuzione mostra fino a 50 risultati relativi alle esecuzione più recenti. Selezionare il risultato di un’esecuzione nell'elenco per visualizzare le specifiche su tale esecuzione. Sono inclusi gli orari di inizio e di fine e gli eventuali errori e avvisi che si sono verificati.

Dettagli sull'esecuzione dell'indicizzatore

Se si sono verificati problemi specifici del documento durante l'esecuzione, verranno elencati nei campi Errori e avvisi.

Dettagli dell'indicizzatore con errori

Gli avvisi sono comuni ad alcuni tipi di indicizzatori e non sempre indicano un problema. Ad esempio, gli indicizzatori che usano Servizi di Azure AI possono segnalare avvisi quando i file immagine o PDF non contengono testo da elaborare.

Per altre informazioni sull'analisi degli errori e degli avvisi dell'indicizzatore, vedere Indicazioni sulla risoluzione dei problemi relativi all'indicizzatore.

Monitorare con le metriche di Monitoraggio di Azure

Azure AI Search è una risorsa monitorata in Monitoraggio di Azure, il che significa che è possibile usare Esplora metriche per visualizzare le metriche di base relative al numero di documenti elaborati dall'indicizzatore e di chiamate alle competenze. Queste metriche possono essere usate per monitorare lo stato dell'indicizzatore e configurare gli avvisi.

Le visualizzazioni delle metriche possono essere filtrate o suddivise in base a un set di dimensioni predefinite. Per informazioni sulle dimensioni associate al Conteggio documenti elaborati e al Conteggio chiamate di esecuzione delle competenze delle metriche, vedere Dimensioni delle metriche.

Lo screenshot seguente mostra il numero di documenti elaborati dagli indicizzatori all'interno di un servizio nell’arco di un'ora, suddivisi in base al nome dell'indicizzatore.

Metrica dei documenti elaborati dall'indicizzatore

È possibile configurare il grafico anche per visualizzare il numero di chiamate delle competenze nello stesso intervallo orario.

Metriche delle competenze chiamate dall’indicizzatore

Monitorare con Get Indexer Status (API REST)

È possibile recuperare lo stato e la cronologia di esecuzione di un indicizzatore usando il comando Get Indexter Status (Ottenere lo stato di un indicizzatore):

GET https://[service name].search.windows.net/indexers/[indexer name]/status?api-version=2024-07-01
api-key: [Search service admin key]

La risposta contiene lo stato globale dell'indicizzatore, la chiamata all'indicizzatore ultimo (o in corso) e la cronologia delle chiamate recenti.

{
    "status":"running",
    "lastResult": {
        "status":"success",
        "errorMessage":null,
        "startTime":"2018-11-26T03:37:18.853Z",
        "endTime":"2018-11-26T03:37:19.012Z",
        "errors":[],
        "itemsProcessed":11,
        "itemsFailed":0,
        "initialTrackingState":null,
        "finalTrackingState":null
     },
    "executionHistory":[ {
        "status":"success",
         "errorMessage":null,
        "startTime":"2018-11-26T03:37:18.853Z",
        "endTime":"2018-11-26T03:37:19.012Z",
        "errors":[],
        "itemsProcessed":11,
        "itemsFailed":0,
        "initialTrackingState":null,
        "finalTrackingState":null
    }]
}

La cronologia di esecuzione contiene fino a 50 esecuzioni più recenti, elencate in ordine cronologico inverso (prima la più recente).

Si noti che esistono due valori di stato diversi. Lo stato di primo livello è per l'indicizzatore stesso. Lo stato dell'indicizzatore in esecuzione indica che l'indicizzatore è configurato correttamente e disponibile per l'esecuzione, ma non che sia attualmente in esecuzione.

Anche ogni esecuzione dell'indicizzatore ha un proprio stato, che indica se l'esecuzione specifica è in corso (in esecuzione) o se è già stata completata con esito positivo, errore temporaneo o errore permanente.

Quando un indicizzatore viene reimpostato affinché aggiorni lo stato di rilevamento delle modifiche, viene aggiunta una voce separata alla cronologia di esecuzione con stato Reimpostato.

Per altre informazioni sui codici di stato e sui dati di monitoraggio dell'indicizzatore, vedere Ottenere lo stato dell'indicizzatore.

Monitorare con .NET

Nell'esempio C# seguente vengono scritte informazioni sullo stato di un indicizzatore e sui risultati dell'esecuzione più recente (o in corso) nella console.

static void CheckIndexerStatus(SearchIndexerClient indexerClient, SearchIndexer indexer)
{
    try
    {
        string indexerName = "hotels-sql-idxr";
        SearchIndexerStatus execInfo = indexerClient.GetIndexerStatus(indexerName);

        Console.WriteLine("Indexer has run {0} times.", execInfo.ExecutionHistory.Count);
        Console.WriteLine("Indexer Status: " + execInfo.Status.ToString());

        IndexerExecutionResult result = execInfo.LastResult;

        Console.WriteLine("Latest run");
        Console.WriteLine("Run Status: {0}", result.Status.ToString());
        Console.WriteLine("Total Documents: {0}, Failed: {1}", result.ItemCount, result.FailedItemCount);

        TimeSpan elapsed = result.EndTime.Value - result.StartTime.Value;
        Console.WriteLine("StartTime: {0:T}, EndTime: {1:T}, Elapsed: {2:t}", result.StartTime.Value, result.EndTime.Value, elapsed);

        string errorMsg = (result.ErrorMessage == null) ? "none" : result.ErrorMessage;
        Console.WriteLine("ErrorMessage: {0}", errorMsg);
        Console.WriteLine(" Document Errors: {0}, Warnings: {1}\n", result.Errors.Count, result.Warnings.Count);
    }
    catch (Exception e)
    {
        // Handle exception
    }
}

L'output nella console sarà simile al seguente:

Indexer has run 18 times.
Indexer Status: Running
Latest run
  Run Status: Success
  Total Documents: 7, Failed: 0
  StartTime: 11:29:31 PM, EndTime: 11:29:31 PM, Elapsed: 00:00:00.2560000
  ErrorMessage: none
  Document Errors: 0, Warnings: 0

Si noti che esistono due valori di stato diversi. Lo stato di primo livello è lo stato dell'indicizzatore stesso. Lo stato dell'indicizzatore In esecuzione indica che l'indicizzatore è configurato correttamente e disponibile per l'esecuzione, ma non che sia attualmente in esecuzione.

Anche ogni esecuzione dell'indicizzatore ha il proprio stato, che indica se l'esecuzione specifica è in corso (In esecuzione) o se è già stata completata con stato Esito positivo o Errore temporaneo.

Quando un indicizzatore viene reimpostato affinché aggiorni lo stato di rilevamento delle modifiche, viene aggiunta una voce separata alla cronologia con stato Reimpostato.

Passaggi successivi

Per altre informazioni sui codici di stato e sulle informazioni di monitoraggio dell'indicizzatore, vedere le informazioni di riferimento sulle API seguenti: