本文档介绍了如何在 Knowledge Catalog 中搜索数据资产。
准备工作
在执行搜索之前,请确保您已被授予所需的角色,并且已启用必要的 API。
所需的角色
如需获得在知识目录中搜索条目和访问搜索结果所需的权限,请让您的管理员为您授予以下 IAM 角色:
-
搜索条目:
- 针对用于搜索的项目的 Dataplex Catalog Admin (
roles/dataplex.catalogAdmin) - 针对用于搜索的项目的 Dataplex Catalog Editor (
roles/dataplex.catalogEditor) - 针对用于搜索的项目中的 Dataplex Catalog Viewer (
roles/dataplex.catalogViewer)
- 针对用于搜索的项目的 Dataplex Catalog Admin (
-
搜索 BigQuery 数据集和表的元数据:数据集或表的 BigQuery Metadata Viewer (
roles/bigquery.metadataViewer) -
搜索自定义条目:针对用于搜索的项目的 Dataplex Catalog Viewer (
roles/dataplex.catalogViewer)
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
素材资源级权限
搜索结果的范围取决于您的访问权限级别,与所选项目无关。如需在 Knowledge Catalog 中查找资产,您必须在相应资源的基础源系统中拥有适当的读取权限。
例如,查找 BigQuery 表需要 roles/bigquery.metadataViewer 角色,而查找 Cloud SQL 实例则需要相应的 Cloud SQL 权限。如需了解详情,请参阅搜索范围。
启用 API
启用 Dataplex API(如果尚未启用)。
启用 API 所需的角色
如需启用 API,您需要拥有 serviceusage.services.enable 权限。如果您创建了项目,则可能已经通过 Owner 角色 (roles/owner) 拥有此权限。否则,您可以通过 Service Usage Admin 角色 (roles/serviceusage.serviceUsageAdmin) 获取此权限。
了解如何授予角色。
搜索资源
控制台
如需搜索资源,请按照以下步骤操作:
在 Google Cloud 控制台中,前往 Knowledge Catalog 搜索页面。
如果您看到试试自然语言搜索按钮提示,请点击该按钮。 默认情况下,系统会选择自然语言搜索。
在使用自然语言在多个项目中查找资源字段中,输入查询内容,然后点击 Enter。
如需优化搜索,请点击过滤条件。
- 多个部分中的过滤条件会使用
AND逻辑运算符进行评估。 - 单个部分中的多个过滤条件会使用
OR逻辑运算符进行评估。
您可以使用以下过滤条件:
- 范围:在整个组织(默认)、当前项目或仅在已加星标的资源中进行搜索。如需了解详情,请参阅搜索范围。
- 系统:资源所属的 Google Cloud 服务,例如 BigQuery。Knowledge Catalog 系统包含条目组。
- 项目:要搜索的项目。
- 类型:资源类型,例如 BigQuery 连接、Cloud Storage 存储桶或数据库。根据资源类型的不同,您还可以按子类型(例如连接类型或 SQL 方言)进行过滤。
- 选择位置:要搜索的位置。
- 选择数据集:搜索结果仅限于属于所选 BigQuery 数据集的 BigQuery 资源。在输入文本以进行过滤字段中,输入数据集的名称。
- 切面类型:与您要搜索的资源相关联的 Knowledge Catalog 切面类型。如需按方面值过滤,请点击按方面类型值过滤,然后选择相应值。
- 多个部分中的过滤条件会使用
如需查看有关所搜索资源的更多信息,请点击搜索结果中的资源名称,以打开条目详情页面。
Google Cloud CLI
如需搜索资源,请使用 gcloud dataplex entries search 命令:
gcloud dataplex entries search 'foo' \ --project=PROJECT_ID \ --semantic-search
将 PROJECT_ID 替换为 Google Cloud 项目的 ID。
C#
C#
试用此示例之前,请按照《Knowledge Catalog 快速入门:使用客户端库》中的 C# 设置说明进行操作。 如需了解详情,请参阅 Knowledge Catalog C# API 参考文档。
如需向 Knowledge Catalog 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
Go
Go
试用此示例之前,请按照《Knowledge Catalog 快速入门:使用客户端库》中的 Go 设置说明进行操作。 如需了解详情,请参阅 Knowledge Catalog Go API 参考文档。
如需向 Knowledge Catalog 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
Java
Java
试用此示例之前,请按照《Knowledge Catalog 快速入门:使用客户端库》中的 Java 设置说明进行操作。 如需了解详情,请参阅 Knowledge Catalog Java API 参考文档。
如需向 Knowledge Catalog 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
Node.js
Node.js
试用此示例之前,请按照《Knowledge Catalog 快速入门:使用客户端库》中的 Node.js 设置说明进行操作。 如需了解详情,请参阅 Knowledge Catalog Node.js API 参考文档。
如需向 Knowledge Catalog 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
PHP
PHP
试用此示例之前,请按照《Knowledge Catalog 快速入门:使用客户端库》中的 PHP 设置说明进行操作。 如需了解详情,请参阅 Knowledge Catalog PHP API 参考文档。
如需向 Knowledge Catalog 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
Python
Python
试用此示例之前,请按照《Knowledge Catalog 快速入门:使用客户端库》中的 Python 设置说明进行操作。 如需了解详情,请参阅 Knowledge Catalog Python API 参考文档。
如需向 Knowledge Catalog 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
Ruby
Ruby
试用此示例之前,请按照《Knowledge Catalog 快速入门:使用客户端库》中的 Ruby 设置说明进行操作。 如需了解详情,请参阅 Knowledge Catalog Ruby API 参考文档。
如需向 Knowledge Catalog 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
REST
如需搜索资源,请使用 searchEntries 方法,并将 SemanticSearch 参数设置为 true。
POST https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION:searchEntries?query=foo&semanticSearch=true
替换以下内容:
- PROJECT_ID:您的 Google Cloud 项目的 ID
- LOCATION:项目所在的区域(例如
us-central1)
查看搜索返回的资产的详细信息
控制台
使用 Knowledge Catalog 搜索功能查看资产的详细信息。
gcloud
gcloud dataplex entries lookup 命令:
gcloud dataplex entries lookup ENTRY_ID \ --entry-group=ENTRY_GROUP_ID \ --location=LOCATION \ --project=PROJECT_ID
替换以下内容:
ENTRY_ID:条目的 IDENTRY_GROUP_ID:条目组的 IDLOCATION:项目所在的区域PROJECT_ID: Google Cloud 项目的 ID
C#
C#
试用此示例之前,请按照《Knowledge Catalog 快速入门:使用客户端库》中的 C# 设置说明进行操作。 如需了解详情,请参阅 Knowledge Catalog C# API 参考文档。
如需向 Knowledge Catalog 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
Go
Go
试用此示例之前,请按照《Knowledge Catalog 快速入门:使用客户端库》中的 Go 设置说明进行操作。 如需了解详情,请参阅 Knowledge Catalog Go API 参考文档。
如需向 Knowledge Catalog 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
Java
Java
试用此示例之前,请按照《Knowledge Catalog 快速入门:使用客户端库》中的 Java 设置说明进行操作。 如需了解详情,请参阅 Knowledge Catalog Java API 参考文档。
如需向 Knowledge Catalog 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
Node.js
Node.js
试用此示例之前,请按照《Knowledge Catalog 快速入门:使用客户端库》中的 Node.js 设置说明进行操作。 如需了解详情,请参阅 Knowledge Catalog Node.js API 参考文档。
如需向 Knowledge Catalog 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
PHP
PHP
试用此示例之前,请按照《Knowledge Catalog 快速入门:使用客户端库》中的 PHP 设置说明进行操作。 如需了解详情,请参阅 Knowledge Catalog PHP API 参考文档。
如需向 Knowledge Catalog 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
Python
Python
试用此示例之前,请按照《Knowledge Catalog 快速入门:使用客户端库》中的 Python 设置说明进行操作。 如需了解详情,请参阅 Knowledge Catalog Python API 参考文档。
如需向 Knowledge Catalog 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
Ruby
Ruby
试用此示例之前,请按照《Knowledge Catalog 快速入门:使用客户端库》中的 Ruby 设置说明进行操作。 如需了解详情,请参阅 Knowledge Catalog Ruby API 参考文档。
如需向 Knowledge Catalog 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
REST
如需查看资产的详细信息,请使用 lookupEntry 方法。
限制
搜索功能存在以下限制:
- 公开资源不在自然语言搜索的范围内。
- 附加到入口链接的方面不在自然语言搜索的范围内。
后续步骤
- 了解 Knowledge Catalog 的搜索语法。
- 详细了解 Knowledge Catalog 中的元数据。
- 了解如何使用切面通过元数据丰富条目和条目链接。
- 了解如何管理条目和注入自定义来源。
- 尝试 Knowledge Catalog 应用场景。
- 利用 Knowledge Catalog 发现代理回答复杂的自然语言查询。