Superviser l’état et les résultats des indexeurs dans Azure AI Recherche
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
L’état actuel de tous vos indexeurs se trouve dans la page Vue d’ensemble de votre service de recherche. Les pages du portail sont actualisées au bout de quelques minutes. Vous ne verrez donc pas immédiatement 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.
Statut | Description |
---|---|
En cours | Indique une exécution active. Le portail donne 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, les indexeurs traitant de grands volumes de données peuvent se trouver encore à l’état En cours dans le portail. 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. |
Réussite | 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 était supérieur à Nombre maximal d’éléments ayant échoué et l’indexation s’est arrêtée. |
Réinitialiser | L’état de suivi des modifications interne de l’indexeur a été réinitialisé. L’indexeur s’exécute entièrement, en actualisant tous les documents, et pas seulement ceux avec des horodatages 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.
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.
Si vous rencontrez des problèmes spécifiques au document pendant l’exécution, ils sont signalés dans les champs Erreurs et Avertissements.
Les avertissements sont courants avec certains types d’indexeurs et n’indiquent pas toujours un problème. Par exemple, les indexeurs qui utilisent Azure AI services peuvent signaler des avertissements lorsque les fichiers image ou PDF ne contiennent pas de 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.
Vous pouvez aussi configurer le graphique pour afficher le nombre d’appels de compétences au cours du même intervalle (une heure).
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=2024-07-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
}
}
Sur la console, vous obtenez un résultat semblable à 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 :