Status en resultaten van de indexeerfunctie bewaken in Azure AI Search

U kunt de verwerking van indexeerfuncties bewaken in Azure Portal of programmatisch via REST-aanroepen of een Azure SDK. Naast de status van de indexeerfunctie zelf, kunt u de begin- en eindtijden en gedetailleerde fouten en waarschuwingen van een bepaalde uitvoering bekijken.

Bewaken met behulp van Azure Portal

U kunt de huidige status van al uw indexeerfuncties zien op de overzichtspagina van de zoekservice. Portalpagina's worden om de paar minuten vernieuwd, zodat er geen bewijs wordt weergegeven dat een nieuwe indexeerfunctie direct wordt uitgevoerd. Selecteer Vernieuwen boven aan de pagina om direct de meest recente weergave op te halen.

Indexers list

-Status Beschrijving
Wordt uitgevoerd Geeft de actieve uitvoering aan. De portal rapporteert over gedeeltelijke informatie. Naarmate het indexeren vordert, kunt u zien hoe de waarde docs succeeded groeit als reactie. Het kan lang duren voordat indexeerfuncties die grote hoeveelheden gegevens verwerken. Indexeerfuncties die miljoenen brondocumenten verwerken, kunnen bijvoorbeeld 24 uur worden uitgevoerd en vervolgens bijna onmiddellijk opnieuw opstarten om op te halen waar het was gebleven. Als zodanig kan de status voor indexeerfuncties met een hoog volume altijd in uitvoering zijn in de portal. Zelfs wanneer een indexeerfunctie wordt uitgevoerd, zijn details beschikbaar over lopende voortgang en eerdere uitvoeringen.
Succes Geeft aan dat de uitvoering is geslaagd. Een indexeerfunctie kan worden uitgevoerd, zelfs als afzonderlijke documenten fouten hebben, als het aantal fouten kleiner is dan de instelling max mislukte items van de indexeerfunctie.
Mislukt Het aantal fouten heeft het maximum aantal mislukte items overschreden en indexering is gestopt.
Beginwrd. De interne status van de indexeerfunctie voor het bijhouden van wijzigingen is opnieuw ingesteld. De indexeerfunctie wordt volledig uitgevoerd, alle documenten worden vernieuwd en niet alleen de documenten met nieuwere tijdstempels.

U kunt een indexeerfunctie in de lijst selecteren voor meer informatie over de huidige en recente uitvoeringen van de indexeerfunctie.

Indexer summary and execution history

In het overzichtsdiagram indexeerfunctie wordt een grafiek weergegeven van het aantal documenten dat in de meest recente uitvoeringen is verwerkt.

De lijst met uitvoeringsdetails bevat maximaal 50 van de meest recente uitvoeringsresultaten. Selecteer een uitvoeringsresultaat in de lijst om details over die uitvoering weer te geven. Dit omvat de begin- en eindtijden, en eventuele fouten en waarschuwingen die zijn opgetreden.

Indexer execution details

Als er documentspecifieke problemen waren tijdens de uitvoering, worden deze weergegeven in de velden Fouten en Waarschuwingen.

Indexer details with errors

Waarschuwingen zijn gebruikelijk bij sommige typen indexeerfuncties en geven niet altijd een probleem aan. Indexeerfuncties die gebruikmaken van Azure AI-services kunnen bijvoorbeeld waarschuwingen rapporteren wanneer afbeeldings- of PDF-bestanden geen tekst bevatten die moet worden verwerkt.

Zie de richtlijnen voor het oplossen van problemen met indexeerfuncties voor meer informatie over het onderzoeken van indexeerfouten en waarschuwingen.

Bewaken met metrische gegevens van Azure Monitoring

Azure AI Search is een bewaakte resource in Azure Monitor. Dit betekent dat u Metrics Explorer kunt gebruiken om metrische basisgegevens te bekijken over het aantal documenten en vaardigheden die door de indexeerfunctie zijn verwerkt. Deze metrische gegevens kunnen worden gebruikt om de voortgang van de indexeerfunctie te bewaken en waarschuwingen in te stellen.

Metrische weergaven kunnen worden gefilterd of gesplitst door een set vooraf gedefinieerde dimensies.

Naam meetwaarde Beschrijving Dimensies Gebruiksvoorbeelden
Aantal verwerkte documenten Geeft het aantal verwerkte documenten van de indexeerfunctie weer. Naam van gegevensbron, mislukt, indexnaam, naam van indexeerfunctie, naam van vaardighedenset
- Kan worden verwezen als een ruwe meting van doorvoer (aantal documenten verwerkt door indexeerfunctie in de loop van de tijd)
- Waarschuwing instellen voor mislukte documenten
Aantal aanroepen van vaardigheidsuitvoering Geeft het aantal vaardigheidsvocations weer. Naam van gegevensbron, mislukt, indexnaam, naam indexeerfunctie, vaardigheidsnaam, vaardigheidstype, naam van vaardighedenset
- Verwijzing om ervoor te zorgen dat vaardigheden worden aangeroepen zoals verwacht door relatieve aanroepen tussen vaardigheden en het aantal vaardigheden aanroepen te vergelijken met het aantal documenten.
- Waarschuwing instellen voor mislukte aanroepen van vaardigheden

In de volgende schermopname ziet u het aantal documenten dat is verwerkt door indexeerfuncties binnen een service gedurende een uur, opgesplitst op naam van de indexeerfunctie.

Indexer documents processed metric

U kunt de grafiek ook configureren om het aantal vaardigheidsvocations gedurende hetzelfde uurinterval weer te geven.

Indexer skills invoked metric

Bewaken met status van indexeerfunctie ophalen (REST API)

U kunt de status en uitvoeringsgeschiedenis van een indexeerfunctie ophalen met behulp van de opdracht Status van indexeerfunctie ophalen:

GET https://[service name].search.windows.net/indexers/[indexer name]/status?api-version=2020-06-30
api-key: [Search service admin key]

Het antwoord bevat de algemene status van de indexeerfunctie, de laatste (of actieve) indexeerfunctie aanroep en de geschiedenis van recente indexeerfuncties.

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

De uitvoeringsgeschiedenis bevat maximaal 50 meest recente uitvoeringen, die in omgekeerde chronologische volgorde worden gesorteerd (meest recente eerste).

Let op: er zijn twee verschillende statuswaarden. De status op het hoogste niveau is voor de indexeerfunctie zelf. Een indexeerfunctiestatus van uitvoering betekent dat de indexeerfunctie correct is ingesteld en beschikbaar is om uit te voeren, maar niet dat deze momenteel wordt uitgevoerd.

Elke uitvoering van de indexeerfunctie heeft ook een eigen status die aangeeft of de specifieke uitvoering wordt uitgevoerd (actief) of al is voltooid met een geslaagde, tijdelijkeFailure- of persistentFailure-status .

Wanneer een indexeerfunctie opnieuw wordt ingesteld om de status van het bijhouden van wijzigingen te vernieuwen, wordt een afzonderlijke vermelding voor de uitvoeringsgeschiedenis toegevoegd met de status Opnieuw instellen .

Zie Status van indexeerfunctie ophalen voor meer informatie over statuscodes en bewakingsgegevens van de indexeerfunctie.

Bewaken met behulp van .NET

In het volgende C#-voorbeeld wordt informatie geschreven over de status van een indexeerfunctie en de resultaten van de meest recente (of doorlopende) uitvoering naar de 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
    }
}

De uitvoer in de console ziet er ongeveer als volgt uit:

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

Let op: er zijn twee verschillende statuswaarden. De status op het hoogste niveau is de status van de indexeerfunctie zelf. Een indexeerfunctiestatus wordt uitgevoerd , betekent dat de indexeerfunctie correct is ingesteld en beschikbaar is voor uitvoering, maar niet dat deze momenteel wordt uitgevoerd.

Elke uitvoering van de indexeerfunctie heeft ook een eigen status voor of die specifieke uitvoering wordt uitgevoerd (wordt uitgevoerd) of al is voltooid met de status Geslaagd of Tijdelijker .

Wanneer een indexeerfunctie opnieuw wordt ingesteld om de status van het bijhouden van wijzigingen te vernieuwen, wordt een afzonderlijke geschiedenisvermelding toegevoegd met de status Opnieuw instellen .

Volgende stappen

Zie de volgende API-verwijzing voor meer informatie over statuscodes en bewakingsinformatie voor indexeerfuncties: