Superviser l’état et les résultats des indexeurs dans Azure AI Recherche

Note

Recherche Azure AI est disponible via le portail Azure, les API REST et les SDK Azure. Il sous-tend également Foundry IQ, la couche de connaissances managée qui transforme le contenu d’entreprise en bases de connaissances réutilisables et prenant en charge les autorisations pour les agents dans le portail Microsoft Foundry.

Vous pouvez superviser le traitement de l’indexeur dans le portail Azure ou programmatiquement par le biais d’appels REST ou d’un kit SDK Azure. Outre l’état de l’indexeur lui-même, vous pouvez consulter les heures de début et de fin, ainsi que les erreurs et avertissements détaillés d’une exécution spécifique.

Superviser à l’aide du portail Azure

Vous pouvez consulter l’état actuel de tous vos indexeurs sur la page de votre portail de service de recherche. Les pages du Portail Azure s’actualisent par intervalles de quelques minutes, vous ne verrez donc pas immédiatement apparaître les résultats d’une nouvelle exécution de l’indexeur. Sélectionnez Actualiser en haut de la page pour récupérer immédiatement l’affichage le plus récent.

Liste des indexeurs

Statut Descriptif
En cours Indique une exécution active. le Portail Azure fournit des informations partielles. À mesure que l’indexation progresse, vous pouvez observer que la valeur Documents ayant réussi augmente en conséquence. L’exécution des indexeurs qui traitent de grands volumes de données peut être longue. Par exemple, les indexeurs qui traitent des millions de documents sources peuvent s’exécuter pendant 24 heures, puis redémarrer presque immédiatement pour reprendre là où ils s’étaient arrêtés. Ainsi, l’état des indexeurs à haut volume peut toujours indiquer En cours dans le portail Azure. Même lorsqu’un indexeur est en cours d’exécution, des informations détaillées sont disponibles sur la progression en cours et les exécutions précédentes.
Succès Indique que l’exécution a réussi. Une exécution de l’indexeur peut réussir même si des documents individuels contiennent des erreurs, car le nombre d’erreurs est inférieur à la valeur du paramètre Nombre maximal d’éléments en échec de l’indexeur.
Échec Le nombre d’erreurs a dépassé le nombre maximal d’éléments défaillants et l’indexation s’arrête.
Réinitialiser L’état de suivi des modifications interne de l’indexeur a été réinitialisé. L’indexeur s’exécute intégralement, en actualisant tous les documents, et pas seulement ceux dont les horodatages sont les plus récents.

Vous pouvez sélectionner un indexeur dans la liste pour afficher plus de détails sur les exécutions actuelles et récentes de l’indexeur.

Pour afficher les journaux détaillés d’une exécution spécifique, sélectionnez la valeur d’état de l’exécution (par exemple, Échec), puis sélectionnez « Télécharger en tant que CSV ».

Résumé de l’indexeur et historique d’exécution

Le graphique Résumé de l’indexeur indique le nombre de documents traités lors des exécutions les plus récentes de l’indexeur.

La liste Détails de l’exécution affiche jusqu’à 50 des résultats d’exécution les plus récents. Sélectionnez un résultat d’exécution dans la liste pour afficher les détails correspondants. Cela inclut les heures de début et de fin, ainsi que les erreurs et les avertissements qui se sont produits.

Détails de l’exécution de l’indexeur

Si des problèmes spécifiques au document sont survenus pendant l’exécution, ils sont répertoriés dans les champs Erreurs et Avertissements.

Détails de l’indexeur avec des erreurs

Les avertissements sont courants avec certains types d’indexeurs et n’indiquent pas toujours un problème. Par exemple, les indexeurs qui utilisent Foundry Tools peuvent signaler des avertissements lorsque les fichiers image ou PDF ne contiennent aucun texte à traiter.

Pour plus d’informations sur l’investigation des erreurs et des avertissements liés à l’indexeur, consultez les conseils d’aide sur la résolution des problèmes de l’indexeur.

Superviser avec des métriques Azure Monitor

Azure AI Recherche est une ressource supervisée dans Azure Monitor, ce qui signifie que vous pouvez utiliser Metrics Explorer pour voir les métriques de base sur le nombre de documents traités par l’indexeur et les appels de compétences. Ces métriques peuvent être utilisées pour superviser la progression de l’indexeur et configurer des alertes.

Les vues de métriques peuvent être filtrées ou fractionnées selon un ensemble de dimensions prédéfinies. Pour en savoir plus sur les dimensions associées aux métriques Nombre de documents traités et Nombre d’appels d’exécution de compétence, consultez Dimensions des métriques.

La capture d’écran suivante montre le nombre de documents traités par les indexeurs d’un service pendant une heure, répartis par nom d’indexeur.

Métrique des documents traités par l’indexeur

Vous pouvez aussi configurer le graphique pour afficher le nombre d’appels de compétences au cours du même intervalle (une heure).

Métrique des compétences d’indexeur invoquées

Superviser avec Get Indexer Status (API REST)

Vous pouvez récupérer l’état et l’historique d’exécution d’un indexeur à l’aide de la commande Get Indexer Status :

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

La réponse contient l'état d'intégrité global de l'indexeur, le dernier appel de l'indexeur (ou celui en cours), ainsi que l'historique des appels récents de l'indexeur.

{
    "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
    }]
}

L’historique d’exécution contient les 50 exécutions les plus récentes, classées par ordre chronologique inverse (la plus récente en premier).

Notez qu’il existe deux valeurs d’état différentes. L’état de niveau supérieur s’applique à l’indexeur lui-même. Un état d’indexeur En cours signifie que l’indexeur est correctement configuré et disponible pour être exécuté mais qu’il n’est pas en cours d’exécution.

Chaque exécution de l’indexeur possède également un état qui indique si cette exécution spécifique est en cours d’exécution (running) ou déjà terminée avec l’état success, transientFailure ou persistentFailure.

Lorsque l’on réinitialise un indexeur pour actualiser son état de suivi des modifications, une entrée distincte indiquant l’état Réinitialiser est ajoutée à l’historique des exécutions.

Pour plus d’informations sur les codes d’état et les données de supervision de l’indexeur, consultez Get Indexer Status.

Superviser avec .NET

L’exemple C# suivant écrit des informations sur l’état d’un indexeur et les résultats de son exécution la plus récente (ou en cours) à la 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
    }
}

La sortie de la console ressemble à ceci :

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

Notez qu’il existe deux valeurs d’état différentes. L’état de niveau supérieur est l’état de l’indexeur lui-même. Un état d’indexeur En cours signifie que l’indexeur est correctement configuré et disponible pour être exécuté mais qu’il n’est pas en cours d’exécution.

Chaque exécution de l’indexeur possède également un état qui indique si cette exécution spécifique est en cours d’exécution (En cours) ou déjà terminée avec l’état Réussite ou TransientError.

Lorsque l’on réinitialise un indexeur pour actualiser son état de suivi des modifications, une entrée distincte indiquant l’état Réinitialiser est ajoutée à l’historique.

Étapes suivantes

Pour plus d’informations sur les codes d’état et les données de surveillance de l’indexeur, consultez la référence API suivante :