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

news2025/1/25 9:22:39

目录

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

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

关注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产品研发负责人。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

解决msvcr71.dll丢失5个方法,修复程序运行缺失dll问题

在计算机使用过程中,我们经常会遇到一些错误提示,其中之一就是“msvcr71.dll丢失”。这个错误提示通常出现在运行某些程序或游戏时,给使用者带来了很大的困扰。那么,究竟是什么原因导致了msvcr71.dll文件的丢失呢?本文…

T-Rex:检测一切 | 基于视觉提示的开集检测器,检测并计数

图1. 我们引入了一个交互式对象计数模型T-Rex。给定参考图像上指定的框或点,T-Rex 可以检测目标图像上的所有与指定对象表现出相似模式的实例,然后将其相加得到计数结果。我们先通过T-Rex生成检测到框提示,再使用SAM得到mask,以获…

Android端极致画质体验之HDR播放

高动态范围HDR视频通过扩大亮度分量的动态范围(从100cd/m2到1000cd/m2),以及采用更宽的色彩空间BT2020,提供极致画质体验。从Android10开始,支持HDR视频播放。 一、HDR技术 HDR技术标准包括:Dolby-Vision、HDR10、HLG、PQ。支持…

set与map

set与map 一、序列式容器与关联式容器二、pair1、键值对2、作用3、构造函数4、make_pair(1)构造函数(2)作用 5、代码6、运行结果 三、set1、概念2、代码3、运行结果4、说明 四、multiset1、与set的关系2、代码3、运行结果 五、map…

鸿蒙系统扫盲(三):鸿蒙开发用什么语言?

1.两种开发方向 我们常说鸿蒙开发,但是其实鸿蒙开发分为两个方向: 一个是系统级别的开发,比如驱动,内核和框架层的开发,这种开发以C/C为主 还有一个是应用级别的开发,在API7以及以下,还是支持…

linux socket套接字

文章目录 socket流socket(TCP)数据报socket(UDP) 讨论 socket 所谓套接字,就是对网络中不同主机上的应用程序之间进行双向通信的端点的抽象。一个套接字就是网络上进程通信的一端,套接字提供了应用层进程利…

WS2812灯条基于WLED开源项目无门槛使用简介

WS2812灯条基于WLED开源项目无门槛使用简介 📌项目github地址:https://github.com/Aircoookie/WLED📍WLED详情地址:https://kno.wled.ge/🎈网页在线烧录固件地址:https://install.wled.me/ ✨ 仅作为使用的…

【同一局域网下】访问其他电脑的虚拟机

一、在被连接的电脑上对VMware进行设置 编辑 --> 虚拟网络编辑器 按顺序点击 如果22端口已被占用,可以自行定义 (端口号越大,被占用的可能性越小) 二、在被连接的电脑上对防火墙进行设置(这里以win11为例&#xff…

【Qt之QSqlRelationalDelegate】描述及使用

描述 QSqlRelationalDelegate类提供了一个委托,用于显示和编辑来自QSqlRelationalTableModel的数据。 与默认委托不同,QSqlRelationalDelegate为作为其他表的外键的字段提供了一个组合框。 要使用该类,只需在带有QSqlRelationalDelegate实例…

考虑极端天气线路脆弱性的配电网分布式电源配置优化模型_IEEE33节点(附带Matlab代码)

随着新能源技术及智能电网的发展,越来越多的分布式电源加入配电网中,不仅改变了配电网结构及供电方式,而且提升了配电网的供电质量。但是在全球气候变暖的背景下,极端天气发生的频率也越来越高,一旦发生必将对配电网系…

竞赛选题 题目:基于深度学习的中文汉字识别 - 深度学习 卷积神经网络 机器视觉 OCR

文章目录 0 简介1 数据集合2 网络构建3 模型训练4 模型性能评估5 文字预测6 最后 0 简介 🔥 优质竞赛项目系列,今天要分享的是 基于深度学习的中文汉字识别 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐! &a…

python接口自动化测试之requests库的基础使用

简单介绍 requests库简单易用的HTTP库 Get请求 格式: requests.get(url) 注意:若需要传请求参数,可直接在 url 最后的 ? 后面,也可以调用 get() 时多加一个参数 params ,传入请求参数,注意需要是 dict…

如何利用轮廓系数(Silhouette Coefficient)来判断模糊c均值聚类FCM的聚类簇数量

文章目录 前言一、轮廓系数的计算方法二、具体流程 前言 轮廓系数(Silhouette Coefficient)是一种评价聚类效果的指标,它可以用于判断模糊C均值聚类的聚类簇数量。 一、轮廓系数的计算方法 对于每个数据点i,计算它属于每个聚类…

【GraphQL】什么是Prisma?

本页提供了Prisma及其工作原理的高级概述。 什么是Prisma? Prisma是一个开源的下一代ORM。它由以下部分组成: Prisma客户端:Node.js和TypeScript的自动生成和类型安全查询生成器Prisma迁移:迁移系统Prisma Studio:GUI&#xff0…

算法基础之字符串哈希

字符串哈希 核心思想&#xff1a;用p(131或者13331)进制数储存字符串每一位数的hash值 L—R的哈希值 h[R]-h[L-1]*PR-L1 哈希值很大—>modQ(264)变小 用unsigned long long 存 (出界) #include<iostream>using namespace std;typedef unsigned long long ULL;co…

Jenkins+Git+Appium 持续集成策略

持续集成 &#xff08;Continuous integration&#xff0c;简称 CI&#xff09; 持续集成是一种开发实践&#xff0c;它倡导团队成员需要频繁的集成他们的工作&#xff0c;每次集成都通过自动化构建&#xff08;包括编译、构建、自动化测试&#xff09;来验证&#xff0c;从而尽…

第12关 精通K8s下的Ingress-Nginx控制器:生产环境实战配置指南

------> 课程视频同步分享在今日头条和B站 大家好&#xff0c;我是博哥爱运维&#xff0c;这节课带来k8s的流量入口ingress&#xff0c;作为业务对外服务的公网入口&#xff0c;它的重要性不言而喻&#xff0c;大家一定要仔细阅读&#xff0c;跟着博哥的教程一步步实操去理…

科普 | 隧道代理IP,简化操作提升安全性

随着数字化时代的深入发展&#xff0c;企业对网络数据的依赖日益增强。在这样的背景下&#xff0c;隧道代理IP正在以其独特的优势改变传统的网络代理模式&#xff0c;为企业级数据采集领域带来革命性的变革。 隧道代理IP技术简介 隧道代理IP通过云端服务器实现自动化的HTTP代理…

java开发需要用到的软件,必备软件工具一览

java开发需要用到的软件&#xff0c;必备软件工具一览 如果你对Java编程感兴趣或已经是一名Java开发者&#xff0c;你需要一些必备的软件工具来提高你的生产力和简化开发过程。在本文中&#xff0c;我们将探讨Java开发所需的关键软件工具&#xff0c;并通过具体示例来解释它们的…

笔记63:注意力评分函数

本地笔记地址&#xff1a;D:\work_file\&#xff08;4&#xff09;DeepLearning_Learning\03_个人笔记\3.循环神经网络\第10章&#xff1a;动手学深度学习~注意力机制 a a a a a a a a a a a a a a a a a a a