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

快速入门:在 Azure 门户中创建 Azure 认知搜索技能组

本快速入门介绍 Azure 认知搜索中的 AI 扩充如何通过添加光学字符识别 (OCR)、图像分析、语言检测、文本翻译和实体识别在搜索索引中创建可搜索文本内容。

你将在 Azure 门户中运行“导入数据”向导,以应用在索引期间转换和扩充内容的技能。 输出是包含 AI 生成的图像文本、字幕和实体的可搜索索引。 可以使用搜索浏览器在门户中查询扩充的内容。

为做好准备,在运行向导之前需要创建一些资源并上传示例文件。

先决条件

开始之前,必须具备以下先决条件:

注意

此快速入门将认知服务用于 AI。 由于工作负荷很小,因此,认知服务在幕后会抽调一部分算力来免费处理事务(最多 20 个)。 无需创建认知服务资源即可完成此练习。

设置数据

在以下步骤中,在 Azure 存储中设置 blob 容器以存储异类内容文件。

  1. 下载示例数据,其中包括不同类型的小型文件集。 解压缩文件。

  2. 使用 Azure 帐户登录到 Azure 门户

  3. 创建 Azure 存储帐户查找现有帐户

    • 选择 Azure 认知搜索所在的同一区域,以避免带宽费用。

    • 选择StorageV2(常规用途 V2)。

  4. 在 Azure 门户中,打开 Azure 存储页并创建容器。 可以使用默认的公共访问级别。

  5. 在容器中,选择“上传”以上传在第一个步骤中下载的示例文件。 请注意,内容类型非常广泛,包括无法以本机格式进行全文搜索的图像和应用程序文件。

    Azure Blob 存储中源文件的屏幕截图。

现在,你已准备好继续运行“导入数据”向导。

运行“导入数据”向导

  1. 使用 Azure 帐户登录到 Azure 门户

  2. 查找搜索服务,并在“概述”页中,选择命令栏上的“导入数据”,通过四个步骤设置认知扩充。

    “导入数据”命令的屏幕截图。

步骤 1 - 创建数据源

  1. 在“连接到数据”中,选择“Azure Blob 存储” 。

  2. 选择与存储帐户的现有连接,然后选择你创建的容器。 为数据源命名,并对余下的设置使用默认值。

    数据源定义页的屏幕截图。

    继续转到下一页。

步骤 2 - 添加认知技能

接下来,配置 AI 扩充来调用 OCR、图像分析和自然语言处理。

  1. 对于本快速入门,我们将使用免费的认知服务资源。 示例数据包括 14 个文件,因此,认知服务免费提供的 20 个事务配额足以完成本快速入门。

    “附加认知服务”选项卡的屏幕截图。

  2. 展开“添加扩充”,并做出六项选择。

    启用 OCR,将图像分析技能添加到向导页。

    选择实体识别(人员、组织和位置)和图像分析技能(标记、字幕)。

    技能组定义页的屏幕截图。

    继续转到下一页。

步骤 3 - 配置索引

索引包含可搜索的内容,“导入数据”向导通常可以通过对数据源采样来创建架构。 在此步骤中查看生成的架构,并根据情况修改任何设置。 以下是为演示 Blob 数据集创建的默认架构。

在本快速入门中,向导能够很好地设置合理的默认值:

  • 默认字段基于现有 blob 的元数据属性,以及扩充输出的新字段(例如 peopleorganizationslocations)。 数据类型从元数据和数据采样推断。

  • 默认文档键是 metadata_storage_path(由于字段包含唯一值,因此选择了此键)。

  • 默认属性为可检索可搜索可搜索允许对字段进行全文搜索。 可检索意味着可以在结果中返回字段值。 向导假设你希望这些字段可检索且可搜索,因为它们是通过技能集创建的。 如果要在筛选表达式中使用字段,请选择“可筛选”。

    索引定义页的屏幕截图。

将某个字段标记为 Retrievable 并不意味着该字段一定会出现在搜索结果中。 通过使用 $select 查询参数指定要包含的字段,可以控制搜索结果的构成。

继续转到下一页。

步骤 4 - 配置索引器

索引器驱动索引过程。 它指定数据源名称、目标索引和执行频率。 “导入数据”向导将创建多个对象,包括一个可以重置和重复运行的索引器。

  1. 在“索引器”页中,可以接受默认名称并选择“一次”来立即运行该索引器。

    索引器定义页的屏幕截图。

  2. 选择“提交”以创建并同时运行索引器。

监视状态

与典型的基于文本的索引相比,认知技能索引编制需要花费更长的时间才能完成,OCR 和图像分析尤其如此。 若要监视进度,请转到“概述”页,然后选择页面中间的“索引器”。

索引器状态页的屏幕截图。

若要查看有关执行状态的详细信息,请从列表中选择一个索引器,然后选择“成功”(或“失败”)以查看执行详细信息。

本演示中出现了一条警告:“无法执行技能,因为一个或多个技能输入无效。”该警告指示数据源中的 PNG 文件不为实体识别提供文本输入。 出现此警告是因为上游 OCR 技能无法识别图像中的任何文本,因此无法为下游实体识别技能提供文本输入。

警告在技能组执行中很常见。 随着你熟悉技能循环访问数据的方式,你将开始发现规律并了解哪些警告是可以安全忽略的。

搜索浏览器中的查询

创建索引后,请在“搜索浏览器”中运行查询以返回结果。

  1. 在搜索服务仪表板页上,选择命令栏上的“搜索浏览器”。

  2. 选择顶部的“更改索引”,选择创建的索引。

  3. 输入要在其中查询索引的搜索字符串,例如 search=Satya Nadella&$select=people,organizations,locations&$count=true

随后会返回详细的 JSON 格式的结果,这些结果可能难以阅读,尤其是在大型文档中。 在此工具中搜索时,可以借鉴一些提示,其中包括以下技术:

  • 追加 $select 以限制结果中返回的字段。
  • 使用 CTRL-F 在 JSON 中搜索特定属性或术语。

查询字符串区分大小写,因此如果收到“未知字段”消息,请检查“字段”或“索引定义(JSON)”以验证名称和大小写。

“搜索资源管理器”页的屏幕截图。

要点

现在,你已创建第一个技能集并了解了一些重要概念,这些概念可帮助你使用自己的数据为扩充的搜索解决方案制作原型。

我们希望学习的某些重要概念也涉及到了 Azure 数据源的依赖关系。 技能集绑定到索引器,索引器特定于 Azure 和源。 虽然本快速入门使用的是 Azure Blob 存储,但也可以使用其他 Azure 数据源。 有关详细信息,请参阅 Azure 认知搜索中的索引器

另一个重要概念是技能针对内容类型运行,因此在处理异源内容时,会跳过某些输入。 而且,大型文件或字段可能会超出服务层级的索引器限制。 正常情况下,在发生这些事件时会看到警告。

输出将定向到搜索索引,并且在编制索引期间创建的名称/值对与索引中的各个字段之间存在映射关系。 在内部,门户将设置批注并定义技能集,以建立操作顺序和常规流。 这些步骤隐藏在门户中,但开始编写代码时,这些概念就很重要。

最后,你已了解可以通过查询索引来验证内容。 Azure 认知搜索最终提供的结果是一个可搜索的索引,可以简单全面扩展的查询语法来查询它。 包含扩充字段的索引与其他任何索引类似。 若要合并标准或自定义分析器评分配置文件同义词分面导航、异地搜索或其他任何 Azure 认知搜索功能,完全可以这样做。

清理资源

在自己的订阅中操作时,最好在项目结束时确定是否仍需要已创建的资源。 持续运行资源可能会产生费用。 可以逐个删除资源,也可以删除资源组以删除整个资源集。

可以使用左侧导航窗格中的“所有资源”或“资源组”链接 ,在门户中查找和管理资源。

如果使用的是免费服务,请记住只能设置三个索引、索引器和数据源。 可以在门户中删除单个项目,以不超出此限制。

后续步骤

可以使用门户、.NET SDK 或 REST API 创建技能集。 若要学习更多的知识,请使用 Postman 和更多示例数据来尝试运行 REST API。