介绍文档级同步报告:在 Amazon Kendra 中增强数据同步的可见性 机器学习博客
文档级同步报告介绍:增强 Amazon Kendra 数据同步可视化
作者:Aneesh Mohan 和 Ashwin Shukla 发表于 2024 年 9 月 20 日
关键点
Amazon Kendra 现在提供文档级同步报告,提升数据同步操作的可视化效果。此功能允许管理员查看每个文档的详细状态、元数据及访问控制列表ACL。新增的 SYNCRUNHISTORYREPORT 日志流存储了所有重要文档报告。通过详细的报告,管理员能够迅速解决文档摄取或访问问题。Amazon Kendra 是一项由机器学习驱动的智能搜索服务,旨在将来自各种内容库的信息整合到一个集中索引中,使用户能够快速搜索企业数据并找到最准确的答案。Amazon Kendra 安全地连接到超过 40 种数据源。为了提升数据源同步作业期间文档处理生命周期的可见性,用户可能希望了解每个文档的状态,以及为何某些文档未能返回预期的答案。此外,用户也需要访问与索引文档相关的元数据、时间戳和访问控制列表ACL。
我们很高兴地宣布,Amazon Kendra 现在新增了一项功能,显著提升了对数据源同步操作的可见性。此次更新引入了综合的文档级报告,集成到同步历史中,为管理员提供每个文档处理过程中的详细索引状态、元数据和 ACL 信息。这一增强功能让管理员能够迅速调查和解决在设置 Amazon Kendra 索引过程中遇到的摄取或访问问题。文档报告存储在新的 SYNCRUNHISTORYREPORT 日志流中,以便在故障排除时随时获取重要的同步作业细节。
文档在数据源同步作业中的生命周期
在本部分中,我们将探讨文档在 Amazon Kendra 数据源同步中的生命周期,为同步过程提供宝贵的见解。数据源同步由爬取、同步和索引三个关键阶段组成。爬取阶段涉及连接器连接到数据源,并根据数据源配置提取符合定义同步范围的文档。这些文档随后在同步阶段同步到 Amazon Kendra 索引中。最后,索引阶段则使同步后的文档能够在 Amazon Kendra 环境中被搜索。
以下流程图展示了同步作业的流程。
全国加速器爬取阶段
爬取阶段是第一步,连接器会从数据源爬取所有文档及其元数据。在此阶段,连接器还会将文档的校验和与 Amazon Kendra 索引进行比较,以确定某个文档是否需要添加、修改或从索引中删除。这一操作对应于同步运行历史报告中的 CrawlAction 字段。
如果文档未被修改,则其状态被标记为 UNMODIFIED 并在后续阶段中被跳过。如果在爬取阶段任何文档失败,例如由于限速错误、损坏的内容或文档大小过大,该文档将在同步运行历史报告中标记为 CrawlStatus 为 FAILED。如果因为任何验证错误而被跳过,其 CrawlStatus 被标记为 SKIPPED。这些文档不会进入下一阶段。所有成功的文档被标记为 SUCCESS 并被发送到下一阶段。
我们在此阶段还会捕获每个文档的 ACL 和元数据,以便将其添加到同步运行历史报告中。
同步阶段
在同步阶段,文档被发送到 Amazon Kendra 的摄取服务 API,例如 BatchPutDocument 和 BatchDeleteDocument。在向这些 API 提交文档后,Amazon Kendra 对所提交的文档进行验证检查。如果有任何文档未通过这些检查,其 SyncStatus 将被标记为 FAILED。如果某个文档出现无法恢复的错误,则将其标记为 SKIPPED,其他文档将继续进行处理。
索引阶段
在此步骤中,Amazon Kendra 解析文档,根据其内容类型进行处理并将其持久化到索引中。如果文档未能持久化,则其 IndexStatus 被标记为 FAILED;否则被标记为 SUCCESS。
在捕获所有阶段的状态后,我们将这些状态作为 Amazon CloudWatch 事件发送到客户的 AWS 账户。
文档级报告的关键特性和好处
以下是 Amazon Kendra 索引中新文档级报告的关键特性和好处:
特性描述增强的同步运行历史页面新增的 操作 列为每个同步运行提供文档级报告的访问。专用日志流在 Amazon Kendra CloudWatch 日志组中创建了一个名为 SYNCRUNHISTORYREPORT 的新日志流,包含文档级报告。全面的文档信息文档级报告包括每个文档的详细信息,例如文档 ID、标题、整体文档同步状态、错误信息如果发生、及其 ACL 和元数据。常见的文档索引可观察性和故障排除方法
在本部分中,我们将探索一些常见的管理任务,用于观察和故障排除文档索引,利用新的文档级报告功能。
列出从数据源成功索引的所有文档
要检索特定数据源成功索引的所有文档列表,您可以使用以下 CloudWatch Logs Insights 查询:
sqlfields DocumentTitle DocumentId @timestamp filter @logStream like SYNCRUNHISTORYREPORT/yourdatasourceid/and ConnectorDocumentStatusStatus = SUCCESS sort @timestamp desc dedup DocumentTitle DocumentId

列出特定同步作业中成功索引的所有文档
要检索在特定同步作业中成功索引的所有文档,您可以使用以下 CloudWatch Logs Insights 查询:
sqlfields DocumentTitle DocumentId ConnectorDocumentStatusStatus AS IndexStatus @timestamp filter @logStream like SYNCRUNHISTORYREPORT/yourdatasourceid/runidand ConnectorDocumentStatusStatus = SUCCESS sort DocumentTitle
列出特定同步作业中所有已失败索引的文档
要检索在特定同步作业中未能索引的所有文档及其错误信息,您可以使用以下 CloudWatch Logs Insights 查询:
sqlfields DocumentTitle DocumentId ConnectorDocumentStatusStatus AS IndexStatus ErrorMsg @timestamp filter @logStream like SYNCRUNHISTORYREPORT/yourdatasourceid/runidand ConnectorDocumentStatusStatus = FAILED sort @timestamp desc
结论
新引入的 Amazon Kendra 文档级报告提供了对数据源同步作业中文档处理生命周期的增强可视化和可观测性。这一功能满足了客户对更好故障排除能力和访问有关个别文档索引状态、元数据及 ACL 详细信息的迫切需求。文档级报告存储在 Amazon Kendra 索引 CloudWatch 日志组中的 SYNCRUNHISTORYREPORT 日志流中。这份报告为每个文档提供全面的信息,使管理员能够快速解决与文档摄取、访问控制、元数据相关性等方面的各种问题。
想要了解关于 Amazon Kendra 的更多信息,请查看 入门指南 和 创建数据源连接器 的最佳实践。