使用亚马逊Kendra的新网络爬虫对您的网络抓取内容进行索引
使用亚马逊Kendra的全新网络爬虫,轻松索引您的网络抓取内容
Amazon Kendra是一种高度准确且易于使用的智能搜索服务,采用机器学习(ML)技术驱动。 Amazon Kendra提供了一套数据源连接器,简化了将内容导入和索引的过程,无论其存储在何处。
组织中的有价值数据存储在结构化和非结构化存储库中。企业搜索解决方案应该能够为您提供完全托管的体验,并简化从企业中各种数据源索引内容的过程。
其中一种非结构化数据存储库是内部和外部网站。网站可能需要被爬行以创建新闻订阅,分析语言使用情况,或者基于网站数据创建机器人回答问题。
我们很高兴地宣布,您现在可以使用新的Amazon Kendra Web Crawler在内部和外部网站上搜索答案,或创建聊天机器人。在本文中,我们将展示如何索引存储在网站上的信息,并使用Amazon Kendra的智能搜索从存储在内部和外部网站上的内容中搜索答案。此外,基于ML的智能搜索可以准确地从具有自然语言叙述内容的非结构化文档中获取答案,关键字搜索对此效果不佳。
Web Crawler提供以下新功能:
- 支持基本、NTLM/Kerberos、表单和SAML身份验证
- 能够指定100个种子URL,并将连接配置存储在Amazon Simple Storage Service(Amazon S3)中
- 支持使用Web和Internet代理,并能够提供代理凭据
- 支持爬取包含JavaScript的动态内容的网站
- 字段映射和正则表达式过滤功能
解决方案概述
使用Amazon Kendra,您可以配置多个数据源,为您的文档存储库提供一个集中的搜索位置。对于我们的解决方案,我们演示了如何使用Amazon Kendra Web Crawler索引爬取的网站。解决方案包括以下步骤:
- 选择网站的身份验证机制(如果需要),并将详细信息存储在AWS Secrets Manager中。
- 创建Amazon Kendra索引。
- 通过Amazon Kendra控制台创建Web Crawler数据源V2。
- 运行示例查询以测试解决方案。
先决条件
要尝试Amazon Kendra Web Crawler,您需要以下内容:
- 要爬行的网站。
- 带有创建AWS Identity and Access Management(IAM)角色和策略权限的AWS帐户。有关更多信息,请参阅访问管理概述:权限和策略。
- AWS的基本知识。
收集身份验证详情
对于受保护和安全的网站,支持以下身份验证类型和标准:
- 基本身份验证
- NTLM/Kerberos身份验证
- 表单身份验证
- SAML身份验证
在设置数据源时,您需要身份验证信息。
对于基本或NTLM身份验证,您需要提供您的Secrets Manager密钥,用户名和密码。
表单和SAML身份验证需要额外的信息,如下图所示。某些字段,如用户名称按钮Xpath是可选的,取决于您正在爬行的站点是否在输入用户名后使用按钮。此外,请注意您需要知道如何确定用户名和密码字段以及提交按钮的Xpath。

创建 Amazon Kendra 索引
完成以下步骤创建 Amazon Kendra 索引:
- 在 Amazon Kendra 控制台上,选择 创建索引。
- 对于索引名称,输入索引的名称(例如,Web Crawler)。
- 输入可选描述。
- 对于角色名称,输入 IAM 角色名称。
- 配置可选的加密设置和标签。
- 选择 下一步。
- 在配置用户访问控制部分,将设置保留为默认设置,并选择 下一步。
- 对于供应版本,选择 开发者版本 并选择 下一步。
- 在审核页面上,选择 创建。
这将创建和传播 IAM 角色,然后创建 Amazon Kendra 索引,可能需要最多 30 分钟。

创建 Amazon Kendra Web Crawler 数据源
完成以下步骤创建数据源:
- 在 Amazon Kendra 控制台上,在导航窗格中选择 数据源。
- 找到 WebCrawler 连接器 V2.0 图块,选择 添加连接器。
- 对于数据源名称,输入一个名称(例如,crawl-fda)。
- 输入可选描述。
- 选择 下一步。
- 在源部分,选择 源 URL 并输入一个 URL。在本文中,我们使用 https://www.fda.gov/ 作为示例源 URL。
- 在身份验证部分,根据您要爬取的站点选择合适的身份验证方式。在本文中,我们选择 无身份验证,因为它是一个公共站点,不需要身份验证。
- 在Web 代理部分,您可以指定 Secrets Manager 密钥(如果需要)。
- 选择 创建并添加新密钥。
- 输入之前收集到的身份验证详情。
- 选择 保存。
- 在IAM 角色部分,选择 创建新角色 并输入一个名称(例如,
AmazonKendra-Web Crawler-datasource-role
)。 - 选择 下一步。
- 在同步范围部分,根据您要爬取的站点配置同步设置。在本文中,我们保留所有默认设置。
- 对于同步模式,选择如何更新您的索引。在本文中,我们选择 完全同步。
- 对于同步运行计划,选择 按需运行。
- 选择 下一步。
- 可选地,您可以设置字段映射。在本文中,我们暂时保留默认设置。
字段映射是一个有用的练习,您可以将字段名称替换为用户友好的值,并适应您组织的词汇表。
- 选择下一步。
- 选择添加数据源。
- 在数据源详细信息页面上,选择立即同步以同步数据源。
- 等待同步完成。
经过验证的网站示例
如果您想爬取需要身份验证的网站,在前面的步骤中的身份验证部分中,您需要指定身份验证详细信息。下面是一个示例,假设您选择了表单身份验证。
-
在源部分选择源 URL并输入一个 URL。在此示例中,我们使用的是https://accounts.autodesk.com。
-
在身份验证部分选择表单身份验证。
-
在Web 代理部分,指定您的 Secrets Manager 密钥。除了无身份验证之外的任何选项都需要此项。
- 选择创建并添加新密钥。
- 输入先前收集到的身份验证详细信息。
- 选择保存。
测试解决方案
现在,您已经将网站内容传入Amazon Kendra索引中,您可以测试一些查询。
- 转到索引并选择搜索已索引内容。
- 输入示例搜索查询并测试搜索结果(您的查询会根据您爬取的网站内容和输入的查询而有所不同)。
恭喜您!您已成功使用Amazon Kendra根据您爬取的网站的内容提供答案和见解。
清理
为了避免未来产生费用,请清理掉此解决方案创建的资源。如果您在测试此解决方案时创建了一个新的Amazon Kendra索引,请将其删除。如果您仅使用Amazon Kendra Web Crawler V2添加了一个新的数据源,请删除该数据源。
结论
借助新的Amazon Kendra Web Crawler V2,组织可以爬取任何公开或需要身份验证的网站,并将其用于由Amazon Kendra提供智能搜索。
要了解更多关于这些可能性以及其他内容,请参考Amazon Kendra开发者指南。有关如何在摄入数据时创建、修改或删除元数据和内容的更多信息,请参考在摄入过程中丰富您的文档和通过自定义文档丰富来增强您的搜索体验。