本文档介绍了 Dataplex Universal Catalog 搜索查询的语法。在阅读本文档之前,请务必了解 Dataplex Universal Catalog 中的元数据管理概念,例如条目、切面、切面类型、条目组和条目类型。如需了解详情,请参阅 Dataplex Universal Catalog 中的元数据管理简介。
Dataplex Universal Catalog 提供两种搜索模式:关键字搜索和自然语言搜索(预览版)。
借助关键字搜索,您可以使用特定关键字、过滤条件和定义的语法来查找资源。
自然语言搜索功能扩展了关键字搜索功能,可支持自然语言查询。它可让您使用日常用语查找资源,无需使用复杂的语法。
本文档介绍了关键字搜索和自然语言搜索的语法。
如需在Google Cloud 控制台中启动 Dataplex Universal Catalog 搜索查询,请前往 Dataplex Universal Catalog 搜索页面,然后选择 Dataplex Universal Catalog 作为搜索平台。
如需了解详情,请参阅在 Dataplex Universal Catalog 中搜索资源。
输入任何文字进行搜索
您可以输入字词或短语(无需使用任何特定语法)来查找资产。 Dataplex Universal Catalog 会将您的查询与多个元数据字段进行匹配,从而执行广泛的搜索,这些字段包括:
- 资源的名称、显示名称或说明
- 资源的类型
- 项目 ID
- 概览说明
- 资源架构中的列名称(或嵌套列名称)
- 列说明
- 完全限定名称
- 联系人
- 切面
使用查询语法进行搜索
如需进行更精确的搜索,您可以使用特定语法构建查询,包括限定符、逻辑运算符和切面搜索。
限定谓词
您可以通过在谓词前面添加一个键来限定谓词,该键将匹配限制为特定的一部分元数据:
- 等号 (
=
) 将搜索限制为完全匹配。 - 键后面的英文冒号 (
:
) 将谓词与搜索结果的值中的子字符串或词元匹配。
词元化将文本流分解为一系列词元,每个词元通常对应于一个字词。
例如:
name:foo
选择名称中包含foo
子字符串的资源,例如foo1
和barfoo
。description:foo
选择说明中包含foo
词元的资源,例如bar
和foo
。location=foo
匹配指定位置中以foo
作为位置名称的资源。
这些限定符的行为在不同搜索模式下可能会略有不同,详情请参阅以下各部分。
关键字搜索
谓词键 type
、system
、location
和 orgid
仅支持完全匹配 (=
) 限定符,不支持子字符串限定符 (:
)。例如,type=foo
或 orgid=number
。
Dataplex Universal Catalog 支持以下用于关键字搜索的限定符:
限定符 | 说明 |
---|---|
name:x |
将 x 作为子字符串与资源 ID 匹配。 |
displayname:x |
将 x 作为子字符串与资源显示名称匹配。 |
column:x |
将 x 作为子字符串与资源架构中的列名称(或嵌套列名称)匹配。 |
description:x |
将 x 作为词元与资源说明匹配。 |
label:bar |
匹配具有标签(带有某个值)且标签键中含有 bar 作为子字符串的 BigQuery 资源。 |
label=bar |
匹配具有标签(带有某个值)且标签键等于 bar 作为字符串的 BigQuery 资源。 |
label:bar:x |
将 x 作为子字符串与附加到 BigQuery 资源的键为 bar 的标签值匹配。 |
label=foo:bar |
匹配键为 foo 且键值为 bar 的 BigQuery 资源。 |
label.foo=bar |
匹配键为 foo 且键值为 bar 的 BigQuery 资源。 |
label.foo |
以字符串形式匹配具有键为 foo 的标签的 BigQuery 资源。 |
type=TYPE |
匹配特定条目类型或其类型别名的资源。 |
projectid:bar |
匹配 Google Cloud 项目中的资源,这些资源以 ID 中的字符串形式匹配 bar 。 |
parent:x |
将 x 作为资源的层次结构路径的子字符串匹配。父级路径是父级资源的 fully_qualified_name 。 |
orgid=number |
匹配确切 ID 值为 number 的 Google Cloud 组织内的资源。 |
system=SYSTEM |
匹配指定系统中的资源。 |
location=LOCATION |
匹配指定位置中具有确切名称的资源。
例如, BigQuery Omni 资产通过使用 BigQuery Omni 位置名称来支持此限定符。例如, |
createtime |
查找在指定日期或时间之内、之前或之后创建的资源。 例如:
时间戳格式: 所有时间戳必须采用 GMT(不支持时区)。支持部分时间戳、连字符 ( 例如:
|
updatetime |
查找在指定日期或时间之内、之前或之后更新的资源。 例如:
时间戳格式: 所有时间戳必须采用 GMT(不支持时区)。支持部分时间戳、连字符 ( 例如:
|
fully_qualified_name:x |
将 x 作为子字符串与 fully_qualified_name 匹配。 |
fully_qualified_name=x |
将 x 作为 fully_qualified_name 匹配。 |
自然语言搜索
谓词键 type
、system
、location
和 description
以及切面搜索(不包括 has
)仅支持完全匹配 (=
) 限定符,不支持子字符串限定符 (:
)。例如,type=foo
。
Dataplex Universal Catalog 支持以下自然语言搜索限定符:
限定符 | 说明 |
---|---|
name:x |
将 x 作为资源 ID 或资源显示名称的子字符串匹配。 |
displayname:x |
将 x 作为子字符串与资源显示名称匹配。 |
column:x |
将 x 作为子字符串与资源架构中的列名称(或嵌套列名称)匹配。 |
description:x |
将 x 作为词元与资源说明匹配。 |
labels:bar |
匹配具有标签(带有某个值)且标签键中含有 bar 作为子字符串的 BigQuery 资源。 |
labels=bar |
匹配具有标签(带有某个值)且标签键等于 bar 作为字符串的 BigQuery 资源。 |
labels.bar:x |
将 x 作为子字符串与附加到 BigQuery 资源的键为 bar 的标签值匹配。 |
labels.foo=bar |
匹配键为 foo 且键值为 bar 的 BigQuery 资源。 |
type=TYPE |
匹配特定条目类型或其类型别名的资源。 |
projectid:bar |
匹配 Google Cloud 项目中的资源,这些资源以 ID 中的字符串形式匹配 bar 。 |
parent:x |
将 x 作为资源的层次结构路径的子字符串进行匹配。 |
system=SYSTEM |
匹配指定系统中的资源。 |
location=LOCATION |
匹配指定位置中具有确切名称的资源。
例如, BigQuery Omni 资产通过使用 BigQuery Omni 位置名称来支持此限定符。例如, |
createtime |
查找在指定日期或时间之内、之前或之后创建的资源。 例如:
时间戳格式: 所有时间戳必须采用 GMT(不支持时区)。支持部分时间戳、连字符 ( 例如:
|
updatetime |
查找在指定日期或时间之内、之前或之后更新的资源。 例如:
时间戳格式: 所有时间戳必须采用 GMT(不支持时区)。支持部分时间戳、连字符 ( 例如:
|
切面搜索
如需根据条目的附加切面搜索条目,请使用以下查询语法。
关键字搜索
限定符 | 说明 |
---|---|
aspect:x |
将 x 作为子字符串与附加到条目的切面的切面类型的完整路径匹配,格式为 projectid.location.ASPECT_TYPE_ID |
aspect=x |
将 x 与附加到条目的切面的切面类型的完整路径匹配,格式为 projectid.location.ASPECT_TYPE_ID |
aspect:xOPERATORvalue |
搜索切面字段值。将 支持的运算符列表取决于切面中的字段类型,如下所示:
只有切面的顶级字段可供搜索。 例如,以下所有查询都会匹配
|
自然语言搜索
限定符 | 说明 |
---|---|
has:x |
将 x 作为子字符串与附加到条目的切面的切面类型的完整路径匹配,格式为 projectid.location.ASPECT_TYPE_ID |
has=x |
将 x 与附加到条目的切面的切面类型的完整路径匹配,格式为 projectid.location.ASPECT_TYPE_ID |
has:xOPERATORvalue |
搜索切面字段值。将
只有切面的顶级字段可供搜索。 |
逻辑运算符
查询可以由若干谓词和逻辑运算符组成。如果您未指定运算符,则意味着使用隐含的逻辑 AND
。例如,foo bar
返回同时匹配谓词 foo
和谓词 bar
的资源。
支持逻辑 AND
和逻辑 OR
。例如 foo OR bar
。
您可以使用 -
(连字符)或 NOT
前缀来排除谓词。例如,-name:foo
会返回名称与谓词 foo
不匹配的资源。
缩写语法
您还可以使用缩写搜索语法,用 |
(竖线)代替 OR
运算符,用 ,
(英文逗号)代替 AND
运算符。
例如,如需使用 OR
运算符搜索多个项目中的某一个项目中的条目,您可以使用以下缩写语法:
projectid:(id1|id2|id3|id4)
如果不使用缩写语法,同一搜索查询如下所示:
projectid:id1 OR projectid:id2 OR projectid:id3 OR projectid:id4
如需搜索具有匹配列名称的条目,请使用以下命令:
- AND:
column:(name1, name2, name3)
- OR:
column:(name1|name2|name3)
此缩写语法适用于关键字搜索中除label
外的限定谓词。
后续步骤
- 了解如何在 Dataplex Universal Catalog 中搜索资源
- 详细了解 Dataplex Universal Catalog 中的元数据管理。
- 了解如何使用切面通过元数据丰富条目。
- 了解如何管理条目和注入自定义来源。