通过智能搜索从您的 Amazon S3 数据中解锁洞察 | 亚马逊网络服务

通过智能搜索从您的 Amazon S3 数据中解锁洞察 | 亚马逊网络服务

亚马逊肯德拉 是一种由机器学习 (ML) 提供支持的智能搜索服务。 Amazon Kendra 为您的网站和应用程序重新构想了企业搜索,因此您的员工和客户可以轻松找到他们正在寻找的内容,即使这些内容分散在您组织内的多个位置和内容存储库中。 关键字或自然语言问题可用于搜索由 ML 提供支持的最相关文档,以提供答案和对文档进行排名。 Amazon Kendra 可以索引来自 亚马逊简单存储服务 (Amazon S3) 或来自第三方文档存储库。 Amazon S3 是一种对象存储服务,可提供可扩展性和可用性,您可以在其中存储大量数据,包括产品手册、项目和研究文档等。

在这篇文章中,您可以学习如何部署提供的 AWS CloudFormation 用于在 Amazon S3 存储桶中为您的文档编制索引的模板。 该模板为索引创建一个 Amazon Kendra 数据源,并根据您的需要同步您的数据源:按需、每小时、每天、每周或每月。 AWS CloudFormation 使我们能够预置基础设施即代码 (IaC),因此您可以花更少的时间管理资源、快速复制基础设施以及控制和跟踪基础设施的变化。

解决方案概述

CloudFormation 模板设置一个连接到 Amazon S3 的 Amazon Kendra 数据源。 该模板还为 Amazon Kendra 数据源服务创建了一个角色。 您可以指定 S3 存储桶、同步计划和包含/排除模式。 同步作业完成后,您可以通过搜索控制台搜索索引内容。 下图说明了此工作流程。

通过智能搜索从您的 Amazon S3 数据中释放见解 |亚马逊网络服务柏拉图区块链数据智能。垂直搜索。人工智能。

这篇文章将指导您完成以下步骤:

  1. 部署提供的模板。
  2. 将文档上传到您创建的 S3 存储桶。 如果你提供一个存储文件的桶,你可以省略这一步。
  3. 等到索引完成对数据源的爬网。

先决条件

对于本演练,您应该具有以下先决条件:

  • An AWS账户 可以部署建议的解决方案的地方。
  • 用于将数据源附加到堆栈的 Amazon Kendra 索引。
  • 用于创建 Amazon Kendra 索引的文档集。 在此解决方案中,您使用的是压缩文件 AWS 白皮书.

使用 AWS CloudFormation 部署解决方案

要部署 CloudFormation 模板,请完成以下步骤:


  1. 通过智能搜索从您的 Amazon S3 数据中释放见解 |亚马逊网络服务柏拉图区块链数据智能。垂直搜索。人工智能。

您将被重定向到 AWS CloudFormation 控制台。

  1. 您可以修改参数或使用默认值:
    • Amazon Kendra 数据源名称是使用堆栈名称和关联的存储桶名称自动设置的。
    • 针对 Kendra 索引 ID,输入您将附加数据源的 Amazon Kendra 索引 ID。
    • 您还可以选择何时要使用运行数据源同步 KendraSync 计划。 默认情况下,它设置为 一经请求.
    • 针对 S3桶名, 您可以输入您已经创建的存储桶或将其留空。 如果将其留空,将为您创建一个存储桶。 无论哪种方式,存储桶都用作 Amazon Kendra 数据源。 对于这篇文章,我们将其留空。

通过智能搜索从您的 Amazon S3 数据中释放见解 |亚马逊网络服务柏拉图区块链数据智能。垂直搜索。人工智能。

堆栈部署附加到 Amazon Kendra 索引的 Amazon Kendra 数据源大约需要 5 分钟。

  1. 点击 输出 CloudFormation 堆栈的选项卡,复制创建的存储桶的名称、数据源名称和 ID。

创建的堆栈部署一个角色: <stack-name>-KendraDataSourceRole. 最佳做法是为您创建的每个数据源部署一个角色。 此角色为 Amazon Kendra 数据源提供从 Amazon Kendra 索引添加或删除文件,从 Amazon S3 存储桶获取对象。

将文件上传到 S3 存储桶

Amazon Kendra 可以处理多种文档类型,例如 .html、.pdf、.csv、.json、.docx 和 .ppt。 您还可以在单​​个索引上组合文档。 这些文档中包含的文本被索引到提供的 Amazon Kendra 索引。 您可以使用 60 多个 pdf 文件搜索有关最佳实践、数据库、机器学习、安全性等 AWS 主题的关键字 下载. 例如,如果您想知道在哪里可以找到有关 AWS 白皮书中缓存的更多信息,Amazon Kendra 可以帮助您找到与数据库和最佳实践相关的文档。

当你下载 AWS 白皮书.zip 文件并解压文件,你会看到这六个文件夹: Best_Practices, Databases, General, Machine_Learning, Security, Well_Architected. 将这些文件夹上传到您的 S3 存储桶。

通过智能搜索从您的 Amazon S3 数据中释放见解 |亚马逊网络服务柏拉图区块链数据智能。垂直搜索。人工智能。

同步 Amazon Kendra 数据源

Amazon Kendra 数据源数据可以根据预先配置的时间表同步您的数据,也可以按需手动触发。 默认情况下,CloudFormation 模板将数据源配置为按需同步计划,以根据需要手动触发。

要从 AWS Amazon Kendra 控制台手动触发同步作业,请导航到用作 CloudFormation 堆栈部署一部分的 Amazon Kendra 索引,位于 数据管理 在导航窗格中,选择 数据源 然后选择 立即同步. 这使得 S3 存储桶与数据源同步。

通过智能搜索从您的 Amazon S3 数据中释放见解 |亚马逊网络服务柏拉图区块链数据智能。垂直搜索。人工智能。

当 Amazon Kendra 数据源开始同步时,您应该会看到 当前同步状态 as 同步.

通过智能搜索从您的 Amazon S3 数据中释放见解 |亚马逊网络服务柏拉图区块链数据智能。垂直搜索。人工智能。

当数据源完成时, 上次同步状态 显示为 得手当前同步状态 as 空闲. 您现在可以搜索索引内容。

通过智能搜索从您的 Amazon S3 数据中释放见解 |亚马逊网络服务柏拉图区块链数据智能。垂直搜索。人工智能。

配置同步计划

该模板允许您在每小时的第 0 分钟运行计划,例如 13:00、14:00 或 15:00。 您还可以选择每天 00:00 UTC 运行它。 这 包周 设置在星期一 00:00 UTC 运行,并且 包月 设置在每个月的第一天 00:00 UTC 运行。

要在创建 Amazon Kendra 数据源后更改计划,请在 行动 菜单中选择 编辑。 下 配置同步设置,你会发现 同步规则时间表 部分。

通过智能搜索从您的 Amazon S3 数据中释放见解 |亚马逊网络服务柏拉图区块链数据智能。垂直搜索。人工智能。

频率,你可以选择 每小时, 每天, 每周, 每月一次习俗,所有这些都允许您将同步安排到分钟。

添加排除模式

提供的 CloudFormation 模板允许您添加排除模式。 默认情况下,.png 和 .jpg 文件将添加到 排除模式 范围。 可以将其他文件格式作为逗号分隔列表添加到排除模式中。 相似地, 包容模式 参数可用于添加逗号列表文件格式来设置包含模式。 如果您不提供包含模式,则所有文件都会被索引,但排除参数中包含的文件除外。

清理

为避免成本,您可以从 AWS CloudFormation 控制台中删除堆栈。 在 堆栈 页面,选择您创建的堆栈,选择 删除, 并确认堆栈的删除。

通过智能搜索从您的 Amazon S3 数据中释放见解 |亚马逊网络服务柏拉图区块链数据智能。垂直搜索。人工智能。

如果您没有提供 S3 存储桶,堆栈会创建一个存储桶。 如果桶是空的,它会自动删除。 否则,您需要清空该文件夹并手动删除它。 如果你提供了一个桶,即使它是空的,它也不会被删除。 Amazon Kendra 索引不会被删除。 只会删除堆栈创建的 Amazon Kendra 数据源。

结论

在本文中,我们提供了一个 CloudFormation 模板,可以轻松地将 S3 存储桶上的文本文档同步到您的 Amazon Kendra 索引。 如果您有多个要索引的 S3 存储桶,此解决方案很有用,因为您可以创建所有必要的组件,只需单击几下即可以一致且可重复的方式查询文档。 您还可以了解如何在 Amazon Kendra 中处理基于图像的文本文档。 要了解有关特定计划模式的更多信息,请参阅 规则的时间表表达式.

在下面发表评论并了解有关 Amazon Kendra 索引创建的更多信息 Amazon Kendra Essentials+ 研讨会.

特别感谢 Jose Mauricio Mani Yanez 帮助创建示例代码和编译本文的内容。


关于作者

通过智能搜索从您的 Amazon S3 数据中释放见解 |亚马逊网络服务柏拉图区块链数据智能。垂直搜索。人工智能。拉杰什·库马尔·拉维 是 Amazon Web Services 的 AI/ML 专家解决方案架构师,专门研究使用 Amazon Kendra 和生成 AI 进行智能文档搜索。 他是建设者和问题解决者,并为新想法的发展做出了贡献。 他喜欢散步,喜欢在工作之余进行短途徒步旅行。

时间戳记:

更多来自 AWS机器学习