高级搜索基于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_type
、resource_id
排序。限制返回数据。例如:使用LIMIT限制返回结果的最大条目数。
如无必要,建议不要直接返回属性
properties
。
查询函数限制
更多信息,请参见支持的函数。