你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。

在 Azure AI 搜索中监视索引器状态和结果

注释

Azure AI 搜索可通过Azure门户、REST API 和Azure SDK获取。 它也是 Foundry IQ 的基础;Foundry IQ 是一个托管式知识层,可将企业内容转化为供 Microsoft Foundry 门户中的智能体使用的、可复用且具备权限感知能力的知识库。

可以在 Azure 门户中监视索引器处理,也可以通过 REST 调用或 Azure SDK 以编程方式进行监视。 除了有关索引器本身的状态之外,还可以查看开始和结束时间,以及特定运行中的详细错误和警告。

使用 Azure 门户进行监视

可以在搜索服务门户页中查看所有索引器的当前状态。 Azure 门户页每隔几分钟刷新一次,因此你不会马上看到新索引器运行的记录。 选择页面顶部的“刷新”可立即检索最近的视图。

索引器列表

状态 DESCRIPTION
正在进行 指示活动执行。 Azure 门户会报告部分信息。 在编制索引的过程中,你可以在响应中看到“成功的文档”值增加。 处理大量数据的索引器可能需要很长时间才能完成运行。 例如,处理数百万个源文档的索引器可能要运行 24 个小时,紧接着重启以从中断的地方继续。 因此,处理大量数据的索引器的状态可能始终在 Azure 门户中显示为“正在进行”。 即使索引器正在运行,也会提供有关当前进度和之前运行记录的详细信息。
成功 指示运行已成功。 即使个别文档出错,只要错误数小于索引器的“最大失败项目数”设置,索引器运行也会显示为成功。
失败 错误数超过“最大失败项目数”,即停止编制索引。
重置 已重置索引器的内部更改跟踪状态。 索引器会完全运行,并刷新所有文档,而不仅仅是时间戳较新的文档。

可以在列表中选择一个索引器,以查看有关索引器的当前和最近运行的详细信息。

若要查看特定运行的详细日志,请选择运行 的状态 值(例如 失败),然后选择“下载为 CSV”。

索引器摘要和执行历史记录

“索引器摘要”图表显示索引器最近运行中处理的文档数。

“执行详细信息”列表最多显示 50 个最近的执行结果。 选择该列表中的某个执行结果可查看有关该运行的具体信息。 包括该次运行的开始和结束时间,以及出现的任何错误和警告。

索引器执行详细信息

如果在运行期间出现文档特定的问题,这些问题会在“错误”和“警告”字段中列出。

包含错误的索引器详细信息

警告经常会出现在某些类型的索引器上,不一定表示出现了问题。 例如,使用 Foundry 工具的索引器可以在图像或 PDF 文件不包含要处理的任何文本时报告警告。

有关调查索引器错误和警告的详细信息,请参阅索引器故障排除指南。

使用 Azure 监视指标进行监视

Azure AI 搜索是 Azure Monitor 中受监视的资源,这意味着可以使用指标资源管理器查看有关索引器处理的文档和技能调用数的基本指标。 这些指标可用于监视索引器进度和设置警报。

指标视图可以通过一组预定义维度进行筛选或拆分。 若要了解与“文档处理计数”和“技能执行调用计数”指标关联的维度,请参阅指标维度。

以下屏幕截图显示了一小时内某服务内各索引器处理的文档数(按索引器名称分别统计)。

索引器处理的文档数指标

还可以配置图形,以查看同一小时间隔内的技能调用次数。

索引器调用的技能指标

使用“获取索引器状态”(REST API) 进行监视

可以使用获取索引器状态命令来检索索引器的状态和执行历史记录:

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

响应包含总体索引器状态、最后一次(或正在进行的)索引器调用以及最近索引器调用的历史记录。

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

执行历史记录最多包含最近 50 次的运行,这些记录按时间倒序排列(最近的记录显示在最前面)。

请注意,系统提供两种不同的状态值。 顶层状态指示索引器本身的状态。 索引器状态“正在运行”表示索引器已正确设置且可运行,而不是当前正在运行。

索引器每次运行都会显示单独的状态,指示特定的执行过程是正在进行(“正在运行”),还是已完成并显示“成功”、“暂时失败”或“永久失败”状态。

重置索引器以刷新其更改跟踪状态时,系统会额外添加一个执行历史记录条目,并标记“重置”状态。

有关状态代码和索引器监视数据的更多信息,请参阅获取索引器状态。

使用 .NET 进行监视

以下 C# 示例将有关索引器状态的信息及其最近(或持续)运行的结果写入控制台。

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
    }
}

控制台中的输出如下所示:

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

请注意,系统提供两种不同的状态值。 顶层状态指示索引器本身的状态。 索引器状态“正在运行”表示索引器已正确设置且可执行,而不是当前正在执行。

索引器每次运行都会显示单独的状态,指示特定的执行过程是正在进行(“正在运行”),还是已完成并显示“成功”或“暂时错误”状态。

重置索引器以刷新其更改跟踪状态时,系统会额外添加一个历史记录条目,并标记“重置”状态。

后续步骤

有关状态代码和索引器监视信息的详细信息,请参阅以下 API 参考: