高级搜索概述

高级搜索基于SQL语句查询当前账号和资源目录成员中的资源。高级搜索提供了灵活、实用且免费的资源全局检索能力。您可以使用查询模板快速查询资源,无论是查找特定类型的资源还是进行更复杂的查询,高级搜索都能满足您的要求。

功能特性

  • 灵活的搜索条件

    高级搜索不再受限于传统搜索方式按照固定规则搜索资源的限制,您可以根据自己的需求和偏好定制搜索条件,从而更加准确地搜索符合要求的资源。例如,您可以设置多个筛选条件,快速缩小搜索范围,找到满足条件的资源。另外,高级搜索不仅支持基本的查询需求,还能很好地应对复杂的查询场景。无论是查找关联资源、多条件组合查询还是其他特定需求,高级搜索都能快速地提供准确的查询结果,帮助您全面深入地分析相关数据。

  • 自定义查询的资源范围

    您可以通过高级搜索查询不同范围内的资源。您既可以选择在当前账号内搜索资源,也可以选择在整个资源目录的多个成员中搜索资源。

  • 查询模板

    为了简化查询过程,高级搜索提供了示例查询模板,这些示例查询模板包含了常见的查询语句,使您可以快速定位到所需的资源。同时,您还可以将编写的查询语句保存为自定义查询模板,后续可以直接使用自定义查询模板,无需重新编写。这不仅节省了您的时间,还保证了查询的准确性和一致性。无论您是初学者或是具备一定经验的用户,高级搜索都能满足您的查询需求,并确保您能够快速、准确地查询到所需的资源。更多信息,请参见通过示例查询模板搜索资源通过自定义查询模板搜索资源查询模板

  • 可视化图表

    高级搜索提供的可视化功能,可以将查询结果以图表的形式可视化呈现。当您需要对资源进行数据分析,了解资源的分布、占比等情况时,您就可以使用该功能直观地查看搜索结果。例如,您可以通过饼状图或柱状图查看不同类型资源的占比情况,从而根据需求进行资源的优化和调整。更多信息,请参见步骤三:查看查询结果

  • AI生成SQL

    AI生成SQL功能基于阿里云百炼提供的AIGC(人工智能生成内容)能力,可以根据您输入的直观的自然语言描述,自动生成SQL语句,提升您的搜索体验和效率。更多信息,请参见AI生成SQL

查询语言

使用高级搜索时,您可以通过输入SQL语句进行查询、筛选和排序等操作。高级搜索中每个运算符和函数的工作原理和操作方式都是基于PostgreSQL。关于高级搜索支持的SQL基本语法,请参见SQL基本语法

查询表

resources表是高级搜索中的核心数据表,它存储了资源属性的相关信息。高级搜索所有的查询都是通过对resources表中的字段进行查询、筛选和排序等操作来实现的。例如,您可以通过在查询条件中指定resource_name字段查询特定名称的资源,或者通过指定resource_type字段来查询特定类型的资源。除了前面的核心字段外,resources表中的properties字段还存储了资源的其他相关信息,如资源状态、计费类型等,而且不同资源类型的properties不同。

resources表的结构如下表所示。

字段

类型

说明

resource_id

varchar

资源ID

resource_name

varchar

资源名称

region_id

varchar

地域ID

zone_id

varchar

可用区ID

resource_type

varchar

资源类型

account_id

varchar

账号ID

create_time

varchar

创建时间

resource_group_id

varchar

资源组ID

tags

jsonb

标签集合

ip_addresses

jsonb

IP地址集合

vpc_id

varchar

VPC ID

v_switch_id

varchar

交换机ID

properties

jsonb

资源属性

使用限制

  • 查询数量限制

    默认情况下,高级搜索限制任何查询最多只能返回1000条记录。

    当数据量很大时,您可以使用LIMIT和OFFSET的组合进行分页查询。但是,为了保证查询结果的连续性,应该结合使用ORDER BY子句对结果进行排序。

  • 查询频率限制

    每个用户最多在5秒钟查询3次,超过次数会被限流。 配额值由许多因素确定,因此可能会发生更改。

  • 查询时间限制

    单次查询时间限制在10秒内,如果超过时间还未得到结果,系统会自动中断查询并报错。

    为了避免超时,您可以通过以下方式降低查询的复杂性:

    • 增加限制条件。例如:当有较大规模的数据需要查询时,可以通过ORDER BY指定按resource_typeresource_id排序。

    • 限制返回数据。例如:使用LIMIT限制返回结果的最大条目数。

    • 如无必要,建议不要直接返回属性properties

  • 查询函数限制

    更多信息,请参见支持的函数