Knowledge Catalog (formerly Dataplex Universal Catalog) search lets you discover resources across your organization with support of natural language search with semantic matching, keyword search, and an extensive search syntax.
Use cases
The following list describes common search use cases, along with descriptions and example queries:
Targeted asset lookup: Find a specific asset by searching for keywords related to the asset name, columns, or description.
Example queries
retail_transactions_2026customer_idcolumn:customer_id
Broad data discovery: Identify relevant assets across your organization using open-ended natural language or keyword queries.
Example queries
quarterly financial reportsad campaign click through rates tablesserver health metricsaudit logs system=bigquery
Scoped asset retrieval for workflows: Enumerate assets within a specific container, such as a project, or with specific properties, such as type or system. This approach is frequently used for programmatic and agentic workflows.
Example queries
type=table projectid:banking-prod aspect:classification.tier=PIIsystem=spanner projectid:inventory-service (parent=marketing_analytics OR parent=finance_analytics)
Access search in Knowledge Catalog
You have the following options to access search in Knowledge Catalog:
- Through the Search page in Google Cloud console. For more information, see the Search for resources section in this document.
gcloud dataplex entries searchgcloud CLI.searchEntriesAPI and Cloud Client Libraries.- Remote MCP server and MCP Toolbox for Databases for interactive usage and to power your agentic and programmatic workloads.
How it works
Search automatically indexes all context for data assets maintained in Knowledge Catalog. This includes the following:
- Metadata automatically ingested from Google Cloud data sources such as BigQuery and Cloud SQL
- Context for resources you ingest through connectors and integrations
- Additional context you create for resources (for example representing business context or describing data semantics) and captured in the form of aspects or linked business terms.
When processing your query, search applies a combination of semantic and keyword matching. The following table describes the query types you can use with Knowledge Catalog search along with descriptions and sample queries:
| Query type | Usage | Examples |
|---|---|---|
| Single keyword | For exact and substring matching across metadata elements, such as asset name, description, and schema. | prd_fin_invoices_fct_v02 |
| Partial keywords and tokenized fragments | Matches substrings across metadata content, finding resources even with abbreviated terms, separated words, or naming variations. | fin transactions 2026 (matches
prd_fin_transactions_fy2026_raw) |
| Natural language queries | Uses semantic matching without requiring exact name or column matches. | customer churn prediction features |
| Structured predicates | Combines free-text queries with explicit predicate filters for narrowing down search results. | audit logs system=bigquery |
| Extended syntax | For precise search, narrowed down to a specific scope. Extended syntax is most often used in agentic and programmatic use cases. For more information, see Search syntax. | (system:bigquery OR system:spanner) AND
column:credit_card_number aspect:classification.tier=PII
-projectid:sandbox-project |
Search scope
The search results in Knowledge Catalog respect permissions that you have over the corresponding resources in source systems.
For example, if you have BigQuery metadata read access to an object, that object appears in your Knowledge Catalog search results. If you have access to a BigQuery table but not to the dataset containing that table, the table still appears as expected in the Knowledge Catalog search.
By default, search is scoped to your organization. Results include only resources from the same organization as the project you're searching in.
The search results include only those resources that belong to the same VPC Service Controls perimeter as the project under which search is performed. When using the Google Cloud console, this is the project that is selected in the console.
To broaden the scope of your search results beyond the resources within your project's VPC Service Controls perimeter, use VPC Service Controls ingress and egress rules. These rules facilitate private and efficient data exchange across your organization. You can configure ingress and egress rules using the Google Cloud console or through JSON or YAML files. Refer to the following YAML example and consult the VPC Service Controls documentation to tailor the rule to your specific requirements.
egressPolicies:
- egressFrom:
identityType: ANY_USER_ACCOUNT
egressTo:
# Specify which resources should be present in the search results. In this example,
# BigQuery.
operations:
- methodSelectors:
- method: '*'
serviceName: bigquery.googleapis.com
# Specify project ids under which the search is performed.
resources:
- projects/SEARCH_PROJECT_ID
ingressPolicies:
- ingressFrom:
identityType: ANY_USER_ACCOUNT
sources:
- accessLevel: '*'
ingressTo:
# Specify which resources should be present in the search results. In this example,
# BigQuery.
operations:
- methodSelectors:
- method: '*'
serviceName: bigquery.googleapis.com
# Specify project ids to expose in search results.
resources:
- projects/INGRESS_PROJECT_ID
For more information about the Identity and Access Management roles that you need to use Knowledge Catalog search, see Knowledge Catalog IAM roles.
Isolate search results by environment using VPC Service Controls
To isolate Knowledge Catalog search results between environments like development, test, and production, configure separate VPC Service Controls perimeters for each environment. Assign both the projects that contain the data assets and the projects that are used for performing searches to the corresponding environment's perimeter. Searches that are performed from a project within a specific perimeter will only return results for assets that are also located within that same perimeter.
Recall limitations in search
Knowledge Catalog search queries don't guarantee full recall, which means that the search might not return results that match your query. Additionally, returned (and not returned) results might vary if you repeat search queries.
To query all Knowledge Catalog metadata, you can export the metadata to Cloud Storage and then query it from BigQuery. For more information, see Export metadata.
Before you begin
Before you perform search, ensure that you are granted the required roles and have enabled the necessary API.
Required roles
To get the permissions that you need to search for entries and access search results in Knowledge Catalog, ask your administrator to grant you the following IAM roles:
-
Search for entries:
- Dataplex Catalog Admin (
roles/dataplex.catalogAdmin) on the project used for search - Dataplex Catalog Editor (
roles/dataplex.catalogEditor) on the project used for search - Dataplex Catalog Viewer (
roles/dataplex.catalogViewer) on the project used for search
- Dataplex Catalog Admin (
-
Search for metadata for BigQuery datasets and tables:
BigQuery Metadata Viewer (
roles/bigquery.metadataViewer) on the dataset or table -
Search for custom entries:
Dataplex Catalog Viewer (
roles/dataplex.catalogViewer) on the project
For more information about granting roles, see Manage access to projects, folders, and organizations.
You might also be able to get the required permissions through custom roles or other predefined roles.
Permissions on search results are checked independently of the selected project.
The search results in Knowledge Catalog are scoped according to your role. To search for an asset in Knowledge Catalog, you must have permissions to access the corresponding resource in the source system. For more information, see the Search scope section of this document.
For example, to search for BigQuery datasets, tables, views, and models, you need respective permissions for those entries. For more information, see BigQuery permissions.
The following list describes the minimum permissions required:
- To search for a table, you need
bigquery.tables.getpermission for that table. - To search for a dataset, you need
bigquery.datasets.getpermission for that dataset.
As another example, to search for Cloud SQL instances, databases, schemas, tables, and views, you need respective permissions on those entries. For more information, see Cloud SQL roles and permissions.
Enable the API
Enable the Dataplex API.
Roles required to enable APIs
To enable APIs, you need the serviceusage.services.enable permission. If you
created the project, then you likely already have this permission through the
Owner role (roles/owner). Otherwise, you can get this permission through the
Service Usage Admin role (roles/serviceusage.serviceUsageAdmin).
Learn how to grant roles.
Search for resources
Console
To search for resources, follow these steps:
In the Google Cloud console, go to the Knowledge Catalog Search page.
If you see the Try natural language search button prompt, click it. By default, natural language search is selected.
In the Find resources across projects with natural language field, enter your query and then click Enter.
To refine your search, click Filters. For the list of available filters, see Filters.
To view more information about the searched resource, in the search results, click the resource name. This opens the entry details page.
Google Cloud CLI
To search for resources, use the
gcloud dataplex entries search command:
gcloud dataplex entries search 'foo' \ --project=PROJECT_ID \ --semantic-search
Replace PROJECT_ID with the ID of the Google Cloud project.
C#
Before trying this sample, follow the C# setup instructions in the
Knowledge Catalog quickstart using
client libraries.
For more information, see the
Knowledge Catalog C# API
reference documentation.
To authenticate to Knowledge Catalog, set up Application Default Credentials.
For more information, see
Set up authentication for a local development environment.
C#