高级搜索基于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 | 资源属性 | 
使用限制
- 查询频率限制 - 每个用户最多在5秒钟查询3次,超过次数会被限流。配额值由许多因素确定,因此可能会发生更改。 
- 查询时间限制 - 单次查询时间限制在10秒内,如果超过时间还未得到结果,系统会自动中断查询并报错。 - 为了避免超时,您可以通过以下方式降低查询的复杂性: - 增加限制条件。例如:当有较大规模的数据需要查询时,可以通过ORDER BY指定按 - resource_type、- resource_id排序。
- 限制返回数据。例如:使用LIMIT限制返回结果的最大条目数。 
- 如无必要,建议不要直接返回属性 - properties。
 
- 查询函数限制 - 更多信息,请参见支持的函数。