Azure Machine Learning - 创建Azure AI搜索索引

目录

    • 一、先决条件
      • 检查空间
    • 二、创建和加载索引
      • 启动向导
      • 连接到 数据源
      • 跳过认知技能配置
      • 配置索引
      • 配置索引器
    • 三、监视索引器进度
    • 四、检查搜索索引结果
    • 五、添加或更改字段
    • 六、使用搜索浏览器查询
    • 七、运行更多示例查询
    • 八、清理资源

在本文中,你将使用导入数据向导和由虚拟酒店数据构成的一个内置示例数据源来创建你的首个搜索索引。 此向导将指导你完成创建搜索索引的过程,帮助你在几分钟内编写有趣的查询。

关注TechLead,分享AI全维度知识。作者拥有10+年互联网服务架构、AI产品研发经验、团队管理经验,同济本复旦硕,复旦机器人智能实验室成员,阿里云认证的资深架构师,项目管理专业人士,上亿营收AI产品研发负责人。

file

一、先决条件

  • 具有活动订阅的 Azure 帐户。 免费创建帐户。

  • 适用于任何层和任何区域的 Azure AI 搜索服务。 创建服务或在当前订阅下查找现有服务(https://portal.azure.com/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.Search%2FsearchServices)。

检查空间

很多用户开始使用免费服务。 免费层限制为三个索引、三个数据源和三个索引器。 在开始之前,请确保有空间存储额外的项目。 本快速入门将为每个对象创建一个。

请查看服务的“概述”页,了解你已有多少索引、索引器和数据源。

file

二、创建和加载索引

Azure AI 搜索通过“导入数据”向导使用索引器。 hotels-sample 数据集托管在 Microsoft 的 Azure Cosmos DB 上,并通过内部连接进行访问。 不需要自己的 Azure Cosmos DB 帐户或源文件即可访问数据。

启动向导

若要开始,请在 Azure 门户中浏览到 Azure AI 搜索服务,然后打开“导入数据”向导。

  1. 使用 Azure 帐户登录到 Azure 门户,然后转到 Azure AI 搜索服务。

  2. 在“概述”页,选择“导入数据”以创建和填充搜索索引。
    file

此时会打开“导入数据”向导。

连接到 数据源

下一步是连接到要用于搜索索引的数据源。

  1. 在“导入数据”向导的“连接到数据”选项卡上,展开“数据源”下拉列表,然后选择“示例”。

  2. 在内置示例列表中,选择“hotels-sample”。

file

在本快速入门中,你将使用内置数据源。 如果要创建自己的数据源,则需要指定名称、类型和连接信息。 创建数据源后,可以在其他导入操作中重复使用该数据源。

  1. 选择“下一步: 添加认知技能(可选)”继续操作。

跳过认知技能配置

“导入数据”向导支持创建 AI 扩充管道,用于将 Azure AI 服务算法合并到索引编制中。 有关详细信息,请参阅 Azure AI 搜索中的 AI 扩充。

  1. 在本快速入门中,请忽略“添加认知技能”选项卡上的 AI 扩充配置选项。

  2. 选择“跳到: 自定义目标索引”以继续操作。
    file

配置索引

Azure AI 搜索服务为内置的 hotels-sample 索引生成架构。 针对 hotels-sample 索引的文档和示例中的查询将会根据此索引定义运行(高级筛选器示例除外)。 定义显示在“导入数据”向导的“自定义目标索引”选项卡上:

file

通常,在基于代码的练习中,创建索引是在加载数据之前完成的。 “导入数据”向导会通过为任何它可以抓取的数据源生成基本索引来精简这些步骤。

索引至少需要“索引名称”和“字段”集合。 一个字段必须标记为文档键,用于唯一标识每个文档。 索引键提供唯一的文档标识符。 该值始终为字符串。 如果需要自动完成或建议查询,可以指定语言分析器或建议器。

每个字段都有一个名称、数据类型和属性,用于控制如何在搜索索引中使用字段。 “自定义目标索引”选项卡使用复选框为所有字段或特定字段启用或禁用以下属性:

  • 可检索:在搜索索引中包含字段内容。
  • 可筛选:允许将字段内容用作搜索索引的筛选条件。
  • 可排序:使字段内容可用于对搜索索引进行排序。
  • 可分面:将字段内容用于分面导航结构。
  • 可搜索:在全文搜索中包含字段内容。 字符串可搜索。 数值字段和布尔字段通常标记为不可搜索。

由于属性选择,索引的存储要求可能会有所不同。 例如,启用字段的“可筛选”属性需要更多存储空间,但启用字段的“可检索”属性则不需要。

默认情况下,“导入数据”向导会在数据源中扫描用作“键”字段基础的唯一标识符。 字符串经过属性化,可检索且可搜索。 整数归属为可检索、可筛选、可排序和可分面。

请按照以下步骤来配置索引:

  1. 对于“索引名称”(hotels-sample-index) 和“键”字段 (HotelId),接受系统生成的值。

  2. 对于所有字段属性,接受系统生成的值。

  3. 选择“下一步: 创建索引器”以继续操作。

配置索引器

最后一步是为搜索索引配置索引器。 此对象定义一个可执行过程。 可以将索引器配置为定期运行。

  1. 对于“索引器名称”(hotels-sample-indexer),接受系统生成的值。

  2. 在本快速入门中,请使用默认选项立即运行索引器一次。

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

三、监视索引器进度

完成“导入数据”向导后,可以监视索引器或索引的创建。 服务“概述”页提供了指向 Azure AI 搜索服务中创建的资源的链接。

  1. 在 Azure 门户中,转到 Azure AI 搜索服务的“概述”页。

  2. 选择“使用情况”查看服务资源的摘要详细信息。

  3. 在“索引器”框中,选择“查看索引器”。

file

在 Azure 门户中更新页面结果可能需要几分钟时间。 此时会在列表中看到新创建的索引器,其状态为“正在进行”或“成功”。 该列表还显示已编制索引的文档数。

file

四、检查搜索索引结果

在服务的“概述”页上,可以对索引创建执行类似的检查。

  1. 在“索引”框中,选择“查看索引”。

    等待 Azure 门户页刷新。 页面上应该会显示索引以及对应的文档计数和存储大小。

file

  1. 若要查看新索引的架构,请选择索引名称“hotels-sample-index”。

  2. 在“hotels-sample-index”页上,选择“字段”选项卡以查看索引架构。

    如果要编写查询,并且需要检查字段是“可筛选”还是“可排序”,请使用此选项卡查看属性设置。

file

五、添加或更改字段

在“字段”选项卡上,可以使用“添加字段”选项为架构定义创建新字段。 指定字段名称、数据类型和属性设置。

虽然始终可以创建新字段,但在大多数情况下,无法更改现有字段。 现有字段在搜索服务中具有实际的表示形式,因此是不可修改的,即使在代码中也是如此。 若要从根本上更改现有字段,你需要创建新索引,以替换掉原始索引。 随时可以添加其他构造,例如评分配置文件和 CORS 选项。

若要清楚地了解在索引设计过程中可以和不可以编辑哪些内容,请花点时间查看索引定义选项。 字段列表中变灰的选项指示这些值无法修改或删除。

六、使用搜索浏览器查询

现在,你有一个搜索索引,可以使用 Azure AI 搜索中的搜索资源管理器工具查询该索引。 搜索浏览器会发送符合搜索文档 REST API的 REST 调用。 该工具支持简单查询语法和完整的 Lucene 查询语法。

可以从索引页上的“搜索资源管理器”选项卡和服务的“概述”页访问该工具。

  1. 在 Azure 门户中,转到 Azure AI 搜索服务的“概述”页,然后选择“搜索资源管理器”。

file

  1. 在“索引”下拉列表中,选择新索引“hotels-sample-index”。
    file

    “请求 URL”框将更新,以显示具有所选索引和 API 版本的链接目标。

  2. 在“查询字符串”框中,输入查询字符串。

    在本快速入门中,可以从[运行更多示例查询]部分提供的示例中选择查询字符串。 以下示例使用的查询为 search=beach &$filter=Rating gt 4
    file

若要更改查询语法的表示形式,请使用“视图”下拉菜单在“查询视图”和“JSON 视图”之间切换。

  1. 选择“搜索”以运行查询。

    “结果”框将更新以显示查询结果。 如果结果较长,请对“结果”框使用“缩略图”以快速跳转到输出的不可见区域。

file

七、运行更多示例查询

下表中的查询旨在使用搜索资源管理器搜索 hotels-sample 索引。 结果以详细的 JSON 文档形式返回。 索引中标记为“可检索”的所有字段都可能出现在结果中。

查询语法查询类型说明结果
search=spa全文查询search= 参数搜索特定关键字。该查询在文档的任何可搜索字段中查找包含关键字 spa 的酒店数据。
search=beach &$filter=Rating gt 4筛选的查询filter 参数根据提供的条件进行筛选。该查询查找评分大于 4 的海滩酒店。
search=spa &$select=HotelName,Description,Tags &$count=true &$top=10参数化查询& 符号用于追加可以按任意顺序指定的搜索参数。
- $select 参数返回一小组字段,以获得比较简洁的搜索结果。
- $count=true 参数返回所有与查询匹配的文档的总计数。
- $top 参数按排名由高到低返回所有文档中指定数量的文档。该查询查找前 10 家 spa 酒店,并显示其名称、说明和标记。
默认情况下,Azure AI 搜索返回前 50 个最佳匹配项。 可以使用此参数来增加或减少数量。

|
| search=* &facet=Category &$top=2 | 对字符串值进行分面查询 | facet 参数返回与指定字段匹配的文档的聚合计数。
- 指定字段必须在索引中标记为“可分面”。
- 在空搜索或未限定的搜索中,表示所有文档。 | 该查询查找 Category 字段的聚合计数,并显示前 2 个。 |
| search=spa &facet=Rating | 对数值进行分面查询 | facet 参数返回与指定字段匹配的文档的聚合计数。
- 虽然字段 Rating 是数值,但它可以指定为分面,因为它在索引中标记为“可检索”、“可筛选”和“可分面”。 | 查询查找 Rating 字段数据的 spa 酒店。 Rating 字段具有数值 1 到 5,适合按每个值对结果进行组。 |
| search=beach &highlight=Description &$select=HotelName, Description, Category, Tags | 突出显示 | highlight 参数将突出显示应用于文档数据中指定关键字的匹配实例。 | 该查询查找并突出显示 Description 字段中关键字 beach 的实例,并显示相应的酒店名称、说明、类别和标记。 |
| 原始:search=seatle

调整后:search=seatle~ &queryType=full

| 模糊搜索 | 默认情况下,执行典型搜索时,如果拼错查询字词(例如,将 seatle 错拼为 Seattle),则无法返回匹配项。 queryType=full 参数调用支持波形符 ~ 操作数的完整 Lucene 查询分析程序。 如果存在这些参数,则查询对指定的关键字执行模糊搜索。 该查询将查找匹配的结果以及与关键字相似但不完全匹配的结果。 | 原始查询不返回任何结果,因为关键字 seatle 拼写错误。

调整后的查询调用完整的 Lucene 查询分析程序以匹配术语 seatle~ 的实例。

|
| $filter=geo.distance(Location, geography'POINT(-122.12 47.67)') le 5 &search=* &$select=HotelName, Address/City, Address/StateProvince &$count=true | 地理空间搜索 | $filter=geo.distance 参数根据指定的 Locationgeography'POINT 坐标筛选位置数据的所有结果。 | 该查询查找位于纬度经度坐标 -122.12 47.67(即“美国华盛顿州雷德蒙德”)5 公里范围内的酒店。该查询显示匹配项的总数 &$count=true 以及酒店名称和地址位置。 |

请花一点时间尝试对索引使用上面的一些示例查询。

八、清理资源

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

可以在 Azure 门户左侧窗格的“所有资源”或“资源组”下查找和管理服务的资源。

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

关注TechLead,分享AI全维度知识。作者拥有10+年互联网服务架构、AI产品研发经验、团队管理经验,同济本复旦硕,复旦机器人智能实验室成员,阿里云认证的资深架构师,项目管理专业人士,上亿营收AI产品研发负责人。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/201928.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MATLAB实战 | APP设计

01、应用实战 【例1】生成一个用于观察视点仰角和坐标轴着色方式对三维图形显示效果影响的App,界面如图1所示。界面右上部的列表框用于选择绘图数据、切换按钮组用于选择绘图方法,中间的旋钮用于设置视点方位角和仰角,右下部的分档旋钮用于设…

计算机毕业设计 基于协同推荐的白酒销售管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…

vivado综合分析与收敛技巧2

1、分解深层存储器配置 , 实现功耗与性能平衡 在深层存储器配置中 , 可使用综合属性 RAM_DECOMP 实现更好的存储器分解并降低功耗。此属性可在 RTL 中设置。将RAM_DECOMP 属性应用于存储器时 , 存储器是在较宽的原语配置中设置的 &#x…

【开源视频联动物联网平台】流媒体传输协议HLS,FLV的功能和特点

HLS(HTTP Live Streaming)和FLV(Flash Video)都是用于视频流传输的协议或容器格式,但它们在某些方面有着显著的区别和特点。 HLS是一种由苹果公司开发的用于流媒体传输的协议,而FLV则是Adobe公司开发的用于…

数据挖掘之时间序列分析

一、 概念 时间序列(Time Series) 时间序列是指同一统计指标的数值按其发生的时间先后顺序排列而成的数列(是均匀时间间隔上的观测值序列)。 时间序列分析的主要目的是根据已有的历史数据对未来进行预测。 时间序列分析主要包…

详解前后端交互时PO,DTO,VO模型类的应用场景

前后端交互时的数据传输模型 前后端交互流程 前后端交互的流程: 前端与后端开发人员之间主要依据接口进行开发 前端通过Http协议请求后端服务提供的接口后端服务的控制层Controller接收前端的请求Contorller层调用Service层进行业务处理Service层调用Dao持久层对数据持久化 …

2023长三角(芜湖)人工智能数字生态峰会暨视觉算法大赛颁奖典礼邀您一同参与!

时光荏苒,科技飞速发展,人工智能正在以令人瞩目的速度改变着我们的生活。在这个数字科技的新时代,为促进长三角地区人工智能产业的蓬勃发展,助推数字经济的繁荣,2023长三角(芜湖)人工智能数字生…

BEVFormer【人工智能】

BEVFormer 是一篇今年中稿 ECCV 2022 的论文,其中提出了一种纯视觉(camera)感知任务的算法模型,用于实现3D目标检测和地图分割任务。该算法通过提取环视相机(Bird’s Eye View Camera)采集到的图像特征&…

[论文阅读]CT3D——逐通道transformer改进3D目标检测

CT3D 论文网址:CT3D 论文代码:CT3D 简读论文 本篇论文提出了一个新的两阶段3D目标检测框架CT3D,主要的创新点和方法总结如下: 创新点: (1) 提出了一种通道注意力解码模块,可以进行全局和局部通道聚合,生成更有效的解码权重。 (2) 提出了建议到点嵌…

Node.js下载安装教程

一、下载安装包 1、百度网盘自提链接: 链接:https://pan.baidu.com/s/1Bbw895MtUgjlfZylPHCCxw 提取码:x89v 2、进入官网下载 https://nodejs.org/zh-cn/download/ 选择对应版本,我这里选的windows64位版本 二、安装程序 1、…

INFINI Console 与华为鲲鹏完成产品兼容互认证

何为华为鲲鹏认证 华为鲲鹏认证是华为云围绕鲲鹏云服务(含公有云、私有云、混合云、桌面云)推出的一项合作伙伴计划,旨在为构建持续发展、合作共赢的鲲鹏生态圈,通过整合华为的技术、品牌资源,与合作伙伴共享商机和利…

[笔记] 使用 xshell 记录日志

平常会使用xshell登录远程系统,在一些场景下,由于远端节点不支持下载,因此无法下载日志,此时可以通过 xshell 自带的日志功能将远端节点的日志内容导出. 1. 登录远端节点后启动日志记录 2. 指定要保存的日志文件 3. 在终端中使用 cat /path/to/logfile 将文件内容全部打印到终…

Hash表

Hash表 前言存储结构链表法初始哈希表大致的思路代码讲解及实现声明插入寻找主函数 开放寻址法大致的思路代码讲解及实现声明find主函数 实际运用字符串前缀哈希法大致思路代码实现 前言 hello! 这里是欧_aita的博客。 每日一汤:不管你做什么,都要全心全意地投入其中…

网络相关-面试高频

网络 当前的应用系统主要分两大类,一类是C/S(Client/Server)客户端/服务器架构的,一类是B/S(Browser/Server)浏览器/服务器架构的[3],例如:PC上安装的QQ程序是典型的C/S架构中的客户…

LeetCode(37)矩阵置零【矩阵】【中等】

目录 1.题目2.答案3.提交结果截图 链接: 73. 矩阵置零 1.题目 给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。 示例 1: 输入:matrix [[1,1,1],[1,0,1],[1,1,1]…

JVM

图来自JavaGuide 程序计数器 程序计数器是线程私有的,每个线程一份,是线程安全的;内部保存的字节码的行号,用于记录正在执行的字节码指令的地址。 java堆 java堆是线程共享的区域(线程不安全)&#xff…

Pandas进阶:20个实用的Pandas函数的基本使用

1. ExcelWriter 很多时候dataframe里面有中文,如果直接输出到csv里,中文将显示乱码。而Excel就不一样了,ExcelWriter是pandas的一个类,可以使dataframe数据框直接输出到excel文件,并可以指定sheets名称。 df1 pd.Da…

玻色量子对外合作

2023年 2023.7 首个央企量子云计算项目,中标! 2023.6 勇闯“量子电力”新领域,玻色量子与清大科越达成战略合作 2023.5 玻色量子签约移动云“五岳”量子云计算创新加速计划! 2023.3 “量子计算通信”!玻色量子与…

使用netconf配置华为设备

实验目的: 公司有一台CE12800的设备,管理地址位172.16.1.2,现在需要编写自动化脚本,通过SSH登陆到设备上配置netconf协议的用户名,密码以及netconf服务,并且通过netconf协议将设备的loopback0接口IP地址配…

小航助学题库蓝桥杯题库c++选拔赛(22年1月)(含题库教师学生账号)

需要在线模拟训练的题库账号请点击 小航助学编程在线模拟试卷系统(含题库答题软件账号) 需要在线模拟训练的题库账号请点击 小航助学编程在线模拟试卷系统(含题库答题软件账号)