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

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

file

一、先决条件

检查空间

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

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

file

二、创建加载索引

Azure AI 搜索通过导入数据”向导使用索引器。 hotelssample 数据集托管在 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产品研发负责人。

原文地址:https://blog.csdn.net/magicyangjay111/article/details/134697120

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_32712.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注