Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
在本快速入门中,你将学习如何使用 Azure 门户中的内置查询工具 搜索资源管理器,以在 Azure AI 搜索索引上运行查询。 使用此工具测试查询或筛选表达式,或确认索引中是否存在内容。
本快速入门使用现有索引来演示搜索浏览器。
先决条件
启动搜索资源管理器
登录到 Azure 门户 并选择搜索服务。
在左窗格中,选择“ 概述”。
在命令栏上,选择 “搜索资源管理器”。
或者,选择索引页上的 “搜索资源管理器 ”选项卡。
查询三种方式
在搜索资源管理器中查询有三种方法:
查询视图提供了默认搜索栏。 它接受包含布尔值的空查询或自由文本查询,例如
ocean view + parking。图像视图提供了一个窗口,用于浏览或拖放 PNG、JPG 或 JPEG 文件。 除非索引具有 图像向量化器和等效技能,否则此视图不可用。
JSON 视图支持参数化查询。 Filters、orderby、select、count、searchFields 和所有其他参数都必须在 JSON 视图中设置。
示例:图像查询
搜索资源管理器通过 图像视图接受图像作为查询输入,这要求你使用支持的向量化器与技能对。 有关详细信息,请参阅 在搜索索引中配置向量器。
未为图像矢量化配置 hotels-sample 索引。 若要运行映像查询,请创建索引,如 快速入门:Azure 门户中的矢量搜索。 本快速入门依赖于基于文本的示例数据,因此必须使用包含图像的文档。
若要运行图像查询,请选择或拖动图像到搜索区域,然后选择“ 搜索”。 搜索资源管理器向量化图像,并将矢量发送到搜索引擎进行查询执行。 搜索引擎返回与输入图像完全相似的文档,最多返回指定的 k 结果数。
示例:JSON 查询
下面是可以使用搜索资源管理器运行的 JSON 查询示例。 若要遵循这些示例,请切换到 JSON 视图。 可以将每个 JSON 示例粘贴到文本区域中。
提示
JSON 视图支持 IntelliSense 功能,用于补全参数名。 将光标置于 JSON 视图中,并输入空格字符以查看所有查询参数的列表。 还可以输入字母,例如 s,仅查看以该字母开头的查询参数。
Intellisense 不会排除无效参数,因此请使用最佳判断。
运行未指定的查询
在搜索资源管理器中,POST 请求使用 文档 - 搜索帖子(REST API)在内部进行制定,响应以详细 JSON 文档的形式返回。
若要首次查看内容,请选择“ 搜索 ”,无需提供任何术语,执行空搜索。 空搜索作为第一个查询十分有用,因为它返回全部文档,以便查看文档组合。 在空搜索中,没有搜索分数,文档按任意顺序返回("@search.score": 1 对于所有文档)。 默认情况下,每个搜索请求返回 50 个文档。
添加 "count": true 以获取在索引中找到的匹配项数。 在空白搜索中,计数是索引中的文档总数。 在限定搜索中,计数是与查询输入匹配的文档数。 回想一下,服务默认返回前 50 个匹配项,因此计数可能指示索引中的匹配项数大于结果中返回的内容。
空搜索的等效语法是 * 或 "search": "*"。
{
"search": "*",
"count": true
}
结果
运行自由文本查询
具有或不带运算符的自由格式搜索可用于模拟从自定义应用发送到 Azure AI 搜索的用户定义查询。 仅扫描在索引中标记为可搜索的字段以进行匹配。
不需要用于自由文本查询的 JSON 视图,但我们以 JSON 形式提供该视图,以便与本文中的其他示例保持一致。
请注意,如果提供了搜索条件(例如查询词或表达式),则会应用搜索排名。 以下示例对自定义文本搜索进行了说明。
@search.score这是使用默认评分算法为匹配计算的相关性分数。
{
"search": "activities `outdoor pool` restaurant OR continental breakfast"
}
结果
可以使用 Ctrl-F 在结果中搜索感兴趣的特定字词。
限制搜索结果中的字段
添加 "select" 以将结果限制到显式命名的字段,以便在 搜索资源管理器中获取更多可读输出。 只有索引中作为可检索属性的字段才会显示在结果中。
{
"search": "activities `outdoor pool` restaurant OR continental breakfast",
"count": true,
"select": "HotelId, HotelName, Tags, Description"
}
结果
返回下一批结果
Azure AI 搜索根据搜索排名返回前 50 个匹配项。 酒店示例索引只有 50 家酒店,因此我们使用较小的数字来进行分页示例。 若要获取下一组匹配的文档,请将"top": 20和"skip": 10附加到结果集合中,使结果集扩展到 20 个文档(默认值为 50,最大值为 1000),并跳过前 10 个文档。 可以检查文档密钥 (HotelId) 来标识文档。
前面提到,需要提供搜索条件,例如查询词或表达式,以便获得排列好的结果。 搜索分数会在深入搜索结果时降低。
{
"search": "activities `outdoor pool` restaurant OR continental breakfast",
"count": true,
"select": "HotelId, HotelName, Tags, Description",
"top": 20,
"skip": 10
}
结果
筛选表达式(大于、小于、等于)
使用 filter 参数指定包含或排除条件。 字段必须在索引中被标记为可筛选。 此示例搜索大于 4 的分级:
{
"search": "activities `outdoor pool` restaurant OR continental breakfast",
"count": true,
"select": "HotelId, HotelName, Tags, Description, Rating",
"filter": "Rating gt 4"
}
结果
对结果进行排序
添加 orderby,按搜索分数之外的其他字段对结果排序。 字段必须在索引中标记为可排序。 在筛选的值相同(例如,相同价格)的情况下,订单是任意的,但可以添加更多条件进行更深入的排序。 下面是一个示例表达式,可用于测试此表达式:
{
"search": "activities `outdoor pool` restaurant OR continental breakfast",
"count": true,
"select": "HotelId, HotelName, Tags, Description, Rating, LastRenovationDate",
"filter": "Rating gt 4",
"orderby": "LastRenovationDate desc"
}
结果
要点
在本快速入门中,你使用“搜索浏览器”通过 REST API 查询了一个索引。
结果以详细 JSON 文档的形式返回,以便你可以在整个文档中查看每个文档的构造和内容。
select查询表达式中的参数限制返回哪些字段。搜索结果由索引中作为可检索属性的所有字段组成。 选择“ 字段 ”选项卡以查看属性。
关键字搜索类似于在商业 Web 浏览器中输入的内容,可用于测试最终用户体验。 例如,假设酒店示例索引,可以输入
"activities 'outdoor pool' restaurant OR continental breakfast",然后使用 Ctrl-F 在搜索结果中查找术语。查询和筛选表达式使用 Azure AI 搜索实现的语法来表达。 默认为简单语法,但可选择使用完整 Lucene 进行更强大的查询。 筛选表达式以 OData 语法表达。
清理资源
在自己的订阅中操作时,最好在项目结束时确定是否仍需要那些已创建的资源。 持续运行资源可能会产生费用。 可以逐个删除资源,也可以删除资源组以删除整个资源集。
在 Azure 门户中,可以通过从左窗格中选择 “所有资源 ”或 “资源组 ”来查找和管理资源。
请记住,免费搜索服务仅限于三个索引、三个索引器和三个数据源。 若要保持在限制之下,可以在 Azure 门户中单独删除这些项目。
后续步骤
若要了解有关查询结构和语法的详细信息,请使用 REST 客户端创建使用 REST API 更多部分的查询表达式。 文档 - 搜索帖子(REST API) 对于学习和探索特别有用。