Knowledge Catalog でキーワードのみの検索を使用して、特定のキーワード、フィルタ、定義された構文を使用してリソースを検索します。キーワードのみの検索では、検索クエリを正確に制御し、メタデータ フィールドに基づいて結果を絞り込むことができます。
始める前に
検索を実行する前に、必要なロールが付与され、必要な API が有効になっていることを確認してください。
必要なロール
Knowledge Catalog でエントリを検索して検索結果にアクセスするために必要な権限を取得するには、次の IAM ロールを付与するよう管理者に依頼してください。
-
エントリを検索する:
- 検索に使用されるプロジェクトに対する Dataplex Catalog 管理者 (
roles/dataplex.catalogAdmin) - 検索に使用されるプロジェクトに対する Dataplex Catalog 編集者 (
roles/dataplex.catalogEditor) - 検索に使用されるプロジェクトに対する Dataplex Catalog 閲覧者 (
roles/dataplex.catalogViewer)
- 検索に使用されるプロジェクトに対する Dataplex Catalog 管理者 (
-
BigQuery データセットとテーブルのメタデータを検索する: データセットまたはテーブルに対する BigQuery メタデータ閲覧者 (
roles/bigquery.metadataViewer) -
カスタム エントリを検索する: プロジェクトに対する Dataplex Catalog 閲覧者 (
roles/dataplex.catalogViewer)
ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。
キーワードのみの検索を使用する
コンソール
キーワード検索を使用してリソースを検索する手順は次のとおりです。
Google Cloud コンソールで、Knowledge Catalog の [検索] ページに移動します。
検索プラットフォームが [Data Catalog] に設定されている場合は、[検索プラットフォームの選択] メニューで [Knowledge Catalog] を選択します。
[プロジェクト全体でリソースを検索] フィールドにクエリを入力します。
検索を絞り込むには、[フィルタ] パネルを使用します。次のフィルタを使用できます。
- [システム] には、BigQuery や Cloud SQL など、使用可能なシステムのリストが表示されます。Knowledge Catalog システムにはカスタム エントリが含まれています。
- [アスペクト(タグ)] を使用すると、特定のテンプレートを使用してタグ付けされたアセットにクエリを実行できます。[カスタマイズ] メニューを使用することで、結果をさらに絞り込んだり、特定のアスペクト値でフィルタしたりできます。
- [プロジェクト] には、検索の範囲を設定できるプロジェクトが一覧表示されます。
- タイプ エイリアスは、エントリ タイプに関連付けられたデータ型です。エントリタイプに
projects/test-project/locations/us/entryTypes/my-entry-typeという名前が付いている場合でも、型エイリアスTABLEまたはDATABASEを使用して検索できます。エントリタイプを作成または更新するときに、1 つ以上の型エイリアスを設定できます。 - [データセット] は BigQuery から取得されます。
次のフィルタを手動で追加できます。
- プロジェクト フィルタを追加する: [プロジェクト] で、[プロジェクトを追加] をクリックします。特定のプロジェクトを検索して選択し、[開く] をクリックします。
- アスペクト タイプ フィルタを追加する: [アスペクト] で、[アスペクト タイプを追加] メニューをクリックします。特定のテンプレートを検索して選択し、[OK] をクリックします。
省略可: 使用可能なアセットだけでなく、[公開データセットを含める] を選択することで、 Google Cloud で一般公開されているリソースを検索できます。
検索クエリを作成するには、次のヒントを参考にしてください。
- スペースが含まれている場合は、検索式を引用符で囲みます。例:
"search terms" - キーワードの前に
NOTを付けると、keyword:termフィルタの論理否定に一致します。ANDとORのブール演算子を使用して検索式を結合することもできます。AND、OR、NOT演算子の大文字と小文字は区別されません。
たとえば、
NOT column:termは、指定された用語に一致するものを除くすべての列を一覧表示します。- スペースが含まれている場合は、検索式を引用符で囲みます。例:
検索したリソースの詳細を表示するには、検索結果でリソース名をクリックします。エントリの詳細ページが開きます。
gcloud
リソースを検索するには、gcloud dataplex entries search コマンドを使用します。
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 メソッドを使用します。
キーワードのみの検索構文
正確な検索を行うには、修飾子、論理演算子、アスペクト検索など、特定の構文を使用してクエリを作成します。
修飾された述語
述語の先頭にキーを付けて修飾すると、照合範囲を特定のメタデータ部分に限定できます。
- 等号(
=)は、検索の対象を完全一致に制限します。 - キーの後のコロン(
:)は、述語を検索結果内の値に含まれる部分文字列またはトークンと照合します。
トークン化により、テキストのストリームが一連のトークン(各トークンは通常 1 つの単語に対応)に分割されます。
述語キー type、system、location、orgid は、部分文字列修飾子(:)ではなく、完全一致修飾子(=)のみをサポートします(例: type=foo、orgid=number)。
Knowledge Catalog のキーワード検索では、次の修飾子がサポートされています。
| 限定子 | 説明 |
|---|---|
name:x |
x をリソース ID の部分文字列として一致させます。 |
displayname:x |
x をリソースの表示名の部分文字列と照合します。 |
column:x |
x をリソースのスキーマの列名(またはネストされた列名)の部分文字列として一致させます。 |
description:x |
x をリソースの説明のトークンとして一致させます。 |
label:bar |
ラベル(値があるもの)を持つ BigQuery リソースと一致させます。ラベルキーには部分文字列として bar があります。 |
label=bar |
ラベル(値があるもの)を持つ BigQuery リソースと一致させます。ラベルキーは文字列として bar と等しくなります。 |
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 |
ID の部分文字列として bar と一致する Google Cloud プロジェクト内のリソースと一致させます。 |
parent:x |
x をリソースの階層パスの部分文字列として一致させます。親パスは、親リソースの fully_qualified_name です。 |
orgid=number |
Google Cloud 組織内のリソースを number の正確な ID 値と一致させます。 |
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 として一致させます。 |
アスペクト検索
付加されたアスペクトに基づいてエントリを検索するには、次のクエリ構文を使用します。
| 修飾子 | 説明 |
|---|---|
aspect:x |
エントリにアタッチされているアスペクトのアスペクト タイプの完全パスの部分文字列として x と一致させます(projectid.location.ASPECT_TYPE_ID 形式)。 |
aspect=x |
エントリにアタッチされているアスペクトのアスペクト タイプの完全パスとして x と一致させます(projectid.location.ASPECT_TYPE_ID 形式)。 |
aspect:xOPERATORvalue |
アスペクト フィールドの値を検索します。エントリにアタッチされているアスペクトのアスペクト タイプとフィールド名の完全パスの部分文字列として サポートされる演算子のリストは、次のようにアスペクト内のフィールドのタイプによって異なります。
検索できるのは、アスペクトの最上位フィールドのみです。 たとえば、次のクエリはすべて、
|
論理演算子
クエリは、論理演算子 AND、OR、NOT でリンクされた複数の述語で構成できます。
- 演算子を指定しないと、論理
ANDが使用されます。たとえば、foo barは、述語fooと述語barの両方に一致するリソースを返します。 - 述語を否定するには、
-(ハイフン)またはNOT接頭辞を使用します。たとえば、-name:fooは、述語fooと一致しない名前のリソースを返します。
キーワードのみの検索では、論理演算子で大文字と小文字は区別されません。
簡略構文
クエリで簡略構文を使用するには、OR 演算子には |(垂直バー)を、AND 演算子には ,(カンマ)を使用します。この簡略構文は、label を除く修飾された述語で使用できます。
次の例は、キーワードのみの検索で簡略構文を使用する方法を示しています。
OR演算子を使用して、複数のプロジェクトの 1 つのエントリを検索する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)
- AND:
次のステップ
- Knowledge Catalog のメタデータ管理の詳細を確認する。
- アスペクトを使用してエントリとエントリ リンクをメタデータで拡充する方法を学習する。
- エントリの管理方法とカスタムソースを取り込む方法を学習する。