データストアを作成して検索用のデータを取り込むには、使用する予定のソースのセクションに移動します。
- ウェブサイトのコンテンツを使用してデータストアを作成する
- BigQuery からインポート
- Cloud Storage からインポートする
- Google ドライブから同期する
- Gmail から同期する(一般公開プレビュー)
- Google サイトから同期する(一般公開プレビュー)
- Google カレンダーから同期する(一般公開プレビュー)
- Google グループから同期する(公開プレビュー)
- Cloud SQL からインポート
- Spanner からインポートする(公開プレビュー)
- Firestore からインポートする
- Bigtable からインポートする(公開プレビュー)
- AlloyDB for PostgreSQL からインポートする(パブリック プレビュー)
- API を使用して構造化 JSON データをアップロード
- Terraform を使用してデータストアを作成する
代わりにサードパーティのデータソースからデータを同期するには、サードパーティのデータソースを接続するをご覧ください。
トラブルシューティングについては、データ取り込みのトラブルシューティングをご覧ください。
ウェブサイトのコンテンツを使用してデータストアを作成する
次の手順で、データストアを作成してウェブサイトのインデックスを登録します。
ウェブサイトのデータストアを作成した後に使用するには、Enterprise 機能が有効になっているアプリに接続する必要があります。アプリの作成時に Enterprise エディションを有効にできます。これにより、追加費用が発生します。検索アプリを作成すると高度な機能についてをご覧ください。
始める前に
ウェブサイトで robots.txt
ファイルを使用している場合は、更新します。詳しくは、ウェブサイトの robots.txt
ファイルを準備する方法をご覧ください。
手順
コンソール
Google Cloud コンソールを使用してデータストアを作成し、ウェブサイトのインデックス登録を行う手順は次のとおりです。
Google Cloud コンソールで、[AI Applications] ページに移動します。
ナビゲーション メニューで [データストア] をクリックします。
[データストアを作成] をクリックします。
[ソース] ページで、[ウェブサイトのコンテンツ] を選択します。
このデータストアでウェブサイトの高度なインデックス登録を有効にするかどうかを選択します。このオプションは後でオンまたはオフにすることはできません。
ウェブサイトの高度なインデックス登録では、検索の要約、フォローアップ付き検索、抽出回答などの追加機能が提供されます。高度なウェブサイト インデックス登録を使用すると、追加料金がかかります。また、インデックスに登録するウェブサイトのドメインの所有権を確認する必要があります。詳しくは、ウェブサイトの高度なインデックス登録と料金をご覧ください。
[含めるサイト] フィールドに、データストアに含めるウェブサイトに一致する URL パターンを入力します。カンマ区切りを使用せずに、1 行に 1 つの URL パターンを含めます。例:
example.com/docs/*
省略可: [除外するサイト] フィールドに、データストアから除外する URL パターンを入力します。
除外したサイトは、含めたサイトよりも優先されます。したがって、
example.com/docs/*
を含めてexample.com
を除外すると、ウェブサイトはインデックスに登録されません。詳しくは、ウェブサイトのデータをご覧ください。[続行] をクリックします。
データストアのロケーションを選択します。
- 基本的なウェブサイト検索データストアを作成すると、これは常に global(グローバル)に設定されます。
- ウェブサイトの高度なインデックス登録を使用してデータストアを作成するときに、ロケーションを選択できます。インデックス登録されるウェブサイトは公開されている必要があるため、ロケーションとして [global(グローバル)] を選択することを強くおすすめします。これにより、すべての検索サービスと回答サービスの可用性が最大限に確保され、リージョン データストアの制限がなくなります。
データストアの名前を入力します。
[作成] をクリックします。Vertex AI Search によってデータストアが作成され、[データストア] ページにデータストアが表示されます。
データストアに関する情報を表示するには、[名前] 列でデータストアの名前をクリックします。データストアのページが表示されます。
- [ウェブサイトの高度なインデックス登録] をオンにしている場合は、データストア内のドメインの確認を求める警告が表示されます。
- 割り当て不足(指定したウェブサイトのページ数が、プロジェクトの「プロジェクトあたりのドキュメント数」の割り当てを超えている場合)は、割り当てのアップグレードを促す警告がさらに表示されます。
データストア内の URL パターンのドメインを確認するには、ウェブサイトのドメインの所有権を証明するの手順に沿って操作します。
割り当てをアップグレードする手順は次のとおりです。
- [割り当てをアップグレード] をクリックします。 Google Cloud コンソールの [IAM と管理] ページが表示されます。
- Google Cloud ドキュメントの割り当ての調整をリクエストするの手順に沿って操作します。増やす割り当ては、Discovery Engine API サービスのドキュメント数です。
- 割り当て上限の引き上げリクエストを送信したら、[AI アプリケーション] ページに戻り、ナビゲーション メニューの [データストア] をクリックします。
- [名前] 列で、データストアの名前をクリックします。[ステータス] 列には、割り当てを超過したウェブサイトのインデックス登録が進行中であることが示されます。URL の [ステータス] 列に [インデックス登録済み] と表示されている場合、その URL または URL パターンに対してウェブサイトの高度なインデックス登録機能を使用できます。
詳細については、「割り当てと上限」ページのウェブページのインデックス登録の割り当てをご覧ください。
Python
詳細については、Vertex AI Search Python API のリファレンス ドキュメントをご覧ください。
Vertex AI Search に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
データストアを作成
ウェブサイトをインポートする
次のステップ
ウェブサイトのデータストアをアプリに接続するには、エンタープライズ機能を有効にしてアプリを作成し、検索アプリを作成するの手順に沿ってデータストアを選択します。
ウェブサイトの高度なインデックス登録を有効にしている場合は、構造化データを使用してスキーマを更新できます。
アプリとデータストアが設定された後に検索結果がどのように表示されるかをプレビューするには、検索結果を取得するをご覧ください。
BigQuery からインポート
Vertex AI Search は、BigQuery データ全体での検索をサポートしています。
BigQuery テーブルからデータストアを作成するには、次の 2 つの方法があります。
1 回限りの取り込み: BigQuery テーブルからデータストアにデータをインポートします。データストア内のデータは、手動でデータを更新しない限り変更されません。
定期的な取り込み: 1 つ以上の BigQuery テーブルからデータをインポートし、同期の頻度を設定します。この頻度によって、BigQuery データセットの最新データでデータストアが更新される頻度が決まります。
次の表に、BigQuery データを Vertex AI Search データストアにインポートする 2 つの方法を比較します。
1 回限りの取り込み | 定期的な取り込み |
---|---|
一般提供(GA)。 | 公開プレビュー版。 |
データは手動で更新する必要があります。 | データは 1 日、3 日、5 日ごとに自動的に更新されます。データを手動で更新することはできません。 |
Vertex AI Search は、BigQuery の 1 つのテーブルから単一のデータストアを作成します。 | Vertex AI Search は、BigQuery データセットのデータコネクタと、指定された各テーブルのデータストア(エンティティ データストア)を作成します。各データコネクタで、テーブルのデータ型(構造化など)が同じで、同じ BigQuery データセットに存在する必要があります。 |
複数のテーブルのデータを 1 つのデータストアに結合するには、まず 1 つのテーブルからデータを取り込み、次に別のソースまたは BigQuery テーブルからデータを取り込みます。 | 手動でのデータ インポートはサポートされていないため、エンティティ データストアのデータは 1 つの BigQuery テーブルからのみ取得できます。 |
データソースへのアクセス制御がサポートされています。 | データソースのアクセス制御はサポートされていません。インポートされたデータにはアクセス制御を含めることができますが、これらの制御は適用されません。 |
データストアは、Google Cloud コンソールまたは API を使用して作成できます。 | コンソールを使用して、データ コネクタとそのエンティティ データストアを作成する必要があります。 |
CMEK 準拠。 | CMEK 準拠。 |
BigQuery から 1 回インポートする
BigQuery テーブルからデータを取り込むには、次の手順でデータストアを作成し、 Google Cloud コンソールまたは API を使用してデータを取り込みます。
データをインポートする前に、取り込むデータを準備します。
コンソール
Google Cloud コンソールを使用して BigQuery からデータを読み込むには、次の手順を行います。
Google Cloud コンソールで、[AI Applications] ページに移動します。
[データストア] ページに移動します。
[
データストアを作成] をクリックします。[ソース] ページで、[BigQuery] を選択します。
[インポートするデータの種類] セクションで、インポートするデータ型を選択します。
[同期の頻度] セクションで [1 回] を選択します。
[BigQuery のパス] フィールドで [参照] をクリックし、取り込み用に準備したテーブルを選択して、[選択] をクリックします。 または、[BigQuery パス] フィールドにテーブルの場所を直接入力します。
[続行] をクリックします。
構造化データを 1 回限りでインポートする場合:
フィールドをキー プロパティにマッピングします。
スキーマに重要なフィールドが欠落している場合は、[新しいフィールドを追加] を使用して追加します。
詳しくは、自動検出と編集についてをご覧ください。
[続行] をクリックします。
データストアのリージョンを選択します。
データストアの名前を入力します。
[作成] をクリックします。
取り込みのステータスを確認するには、[データストア] ページに移動し、データストア名をクリックして、[データ] ページで詳細を表示します。 [アクティビティ] タブのステータス列が [進行中] から [インポート完了] に変わると、取り込みが完了します。
取り込みには、データのサイズに応じて、数分から数時間かかることがあります。
REST
コマンドラインを使用してデータストアを作成し、BigQuery からデータをインポートする手順は次のとおりです。
データストアを作成します。
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -H "X-Goog-User-Project: PROJECT_ID" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores?dataStoreId=DATA_STORE_ID" \ -d '{ "displayName": "DATA_STORE_DISPLAY_NAME", "industryVertical": "GENERIC", "solutionTypes": ["SOLUTION_TYPE_SEARCH"] }'
次のように置き換えます。
PROJECT_ID
: 実際の Google Cloud プロジェクト ID。DATA_STORE_ID
: 作成する Vertex AI Search データストアの ID。この ID に使用できるのは、小文字、数字、アンダースコア、ハイフンのみです。DATA_STORE_DISPLAY_NAME
: 作成する Vertex AI Search データストアの表示名。
省略可: 非構造化データをアップロードし、ドキュメント解析を構成するか、RAG のドキュメント チャンキングを有効にする場合は、
documentProcessingConfig
オブジェクトを指定して、データストアの作成リクエストに含めます。スキャンされた PDF を取り込む場合は、PDF 用の OCR パーサーを構成することをおすすめします。解析オプションまたはチャンク処理オプションの構成方法については、ドキュメントの解析とチャンク化をご覧ください。BigQuery からデータをインポートします。
スキーマを定義した場合は、データがそのスキーマに準拠していることを確認してください。
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/branches/0/documents:import" \ -d '{ "bigquerySource": { "projectId": "PROJECT_ID", "datasetId":"DATASET_ID", "tableId": "TABLE_ID", "dataSchema": "DATA_SCHEMA", "aclEnabled": "BOOLEAN" }, "reconciliationMode": "RECONCILIATION_MODE", "autoGenerateIds": "AUTO_GENERATE_IDS", "idField": "ID_FIELD", "errorConfig": { "gcsPrefix": "ERROR_DIRECTORY" } }'
次のように置き換えます。
PROJECT_ID
: 実際の Google Cloud プロジェクト ID。DATA_STORE_ID
: Vertex AI Search データストアの ID。DATASET_ID
: BigQuery データセットの ID。TABLE_ID
: BigQuery テーブルの ID。- BigQuery テーブルが PROJECT_ID にない場合は、サービス アカウント
service-<project number>@gcp-sa-discoveryengine.iam.gserviceaccount.com
に BigQuery テーブルに対する「BigQuery データ閲覧者」権限を付与する必要があります。たとえば、ソース プロジェクト「123」から宛先プロジェクト「456」に BigQuery テーブルをインポートする場合は、プロジェクト「123」の BigQuery テーブルに対するservice-456@gcp-sa-discoveryengine.iam.gserviceaccount.com
権限を付与します。
- BigQuery テーブルが PROJECT_ID にない場合は、サービス アカウント
DATA_SCHEMA
: 省略可。値はdocument
およびcustom
です。デフォルトはdocument
です。document
: 使用する BigQuery テーブルは、取り込み用にデータを準備するで提供されているデフォルトの BigQuery スキーマに準拠している必要があります。jsonData 文字列にすべてのデータをラップしながら、各ドキュメントの ID を自分で定義できます。custom
: 任意の BigQuery テーブル スキーマが受け入れられ、Vertex AI Search はインポートされる各ドキュメントの ID を自動的に生成します。
ERROR_DIRECTORY
: 省略可。インポートに関するエラー情報用の Cloud Storage ディレクトリ(例:gs://<your-gcs-bucket>/directory/import_errors
)。Vertex AI Search に一時ディレクトリを自動的に作成させるには、この項目を空のままにすることをおすすめします。RECONCILIATION_MODE
: 省略可。値はFULL
およびINCREMENTAL
です。デフォルトはINCREMENTAL
です。INCREMENTAL
を指定すると、BigQuery からデータストアへのデータの増分更新が行われます。これにより、アップサート オペレーションが実行され、新しいドキュメントを追加し、既存のドキュメントを更新された同じ ID のドキュメントで置き換えます。FULL
を指定すると、データストア内のドキュメントが完全に再ベース化されます。つまり、新しいドキュメントと更新されたドキュメントがデータストアに追加され、BigQuery にないドキュメントがデータストアから削除されます。FULL
モードは、不要になったドキュメントを自動的に削除する場合に便利です。AUTO_GENERATE_IDS
: 省略可。ドキュメント ID を自動的に生成するかどうかを指定します。true
に設定すると、ドキュメント ID はペイロードのハッシュに基づいて生成されます。生成されたドキュメント ID は、複数のインポートで一貫性が保たれない場合があります。複数のインポートで ID を自動生成する場合は、ドキュメント ID の整合性を維持するために、reconciliationMode
をFULL
に設定することを強くおすすめします。autoGenerateIds
は、bigquerySource.dataSchema
がcustom
に設定されている場合にのみ指定します。それ以外の場合は、INVALID_ARGUMENT
エラーが返されます。autoGenerateIds
を指定しない場合、またはfalse
に設定する場合は、idField
を指定する必要があります。そうしないと、ドキュメントのインポートに失敗します。ID_FIELD
: 省略可。ドキュメント ID のフィールドを指定します。 BigQuery ソースファイルの場合、idField
はドキュメント ID を含む BigQuery テーブルの列の名前を示します。idField
は、(1)bigquerySource.dataSchema
がcustom
に設定されている、および(2)auto_generate_ids
がfalse
に設定されているか、未設定の場合にのみ指定します。それ以外の場合は、INVALID_ARGUMENT
エラーが返されます。BigQuery 列名の値は文字列型で、1 から 63 文字の範囲で、RFC-1034 に準拠している必要があります。そうしないと、ドキュメントのインポートに失敗します。
C#
詳細については、Vertex AI Search C# API のリファレンス ドキュメントをご覧ください。
Vertex AI Search に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
データストアを作成
ドキュメントのインポート
Go
詳細については、Vertex AI Search Go API のリファレンス ドキュメントをご覧ください。
Vertex AI Search に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
データストアを作成
ドキュメントのインポート
Java
詳細については、Vertex AI Search Java API のリファレンス ドキュメントをご覧ください。
Vertex AI Search に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
データストアを作成
ドキュメントのインポート
Node.js
詳細については、Vertex AI Search Node.js API のリファレンス ドキュメントをご覧ください。
Vertex AI Search に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
データストアを作成
ドキュメントのインポート
Python
詳細については、Vertex AI Search Python API のリファレンス ドキュメントをご覧ください。
Vertex AI Search に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
データストアを作成
ドキュメントのインポート
Ruby
詳細については、Vertex AI Search Ruby API のリファレンス ドキュメントをご覧ください。
Vertex AI Search に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
データストアを作成
ドキュメントのインポート
定期的な同期で BigQuery に接続する
データをインポートする前に、取り込むデータを準備します。
次の手順では、BigQuery データセットを Vertex AI Search データ コネクタに関連付けるデータ コネクタを作成する方法と、作成するデータストアごとにデータセットのテーブルを指定する方法について説明します。データ コネクタの子データストアは、エンティティ データストアと呼ばれます。
データセットのデータは、エンティティ データストアに定期的に同期されます。同期は、毎日、3 日ごと、5 日ごとに指定できます。
コンソール
Google Cloud コンソールを使用して、BigQuery データセットから Vertex AI Search にデータを定期的に同期するコネクタを作成する手順は次のとおりです。
Google Cloud コンソールで、[AI Applications] ページに移動します。
ナビゲーション メニューで [データストア] をクリックします。
[データストアを作成] をクリックします。
[ソース] ページで、[BigQuery] を選択します。
インポートするデータの種類を選択します。
[Periodic] をクリックします。
[同期頻度] で、Vertex AI Search コネクタが BigQuery データセットと同期する頻度を選択します。頻度は後で変更できます。
[BigQuery データセットのパス] フィールドで、[参照] をクリックし、取り込み用に準備したテーブルを含むデータセットを選択します。または、[BigQuery パス] フィールドにテーブルの場所を直接入力します。パスの形式は
projectname.datasetname
です。[同期するテーブル] フィールドで、[参照] をクリックし、データストアに必要なデータを含むテーブルを選択します。
データストアに使用する別のテーブルがデータセット内にある場合は、[テーブルを追加] をクリックして、それらのテーブルも指定します。
[続行] をクリックします。
データストアのリージョンを選択し、データコネクタの名前を入力して、[作成] をクリックします。
これで、データコネクタが作成され、BigQuery データセットと定期的にデータを同期するようになります。また、1 つ以上のエンティティ データストアを作成している。データストアの名前は BigQuery テーブルと同じです。
取り込みのステータスを確認するには、[データストア] ページに移動し、データコネクタ名をクリックして、[データ] ページ > [データ取り込みアクティビティ] タブで詳細を表示します。[アクティビティ] タブのステータス列が [進行中] から [成功] に変わると、最初の取り込みが完了します。
取り込みには、データのサイズに応じて、数分から数時間かかることがあります。
データソースを設定してデータを初めてインポートすると、データストアは設定時に選択した頻度でそのソースからデータを同期します。 データコネクタの作成から約 1 時間後に、最初の同期が行われます。 次の同期は、約 24 時間後、72 時間後、120 時間後のいずれかに行われます。
次のステップ
データストアをアプリに接続するには、検索アプリを作成するの手順に沿ってアプリを作成し、データストアを選択します。
アプリとデータストアが設定された後に検索結果がどのように表示されるかをプレビューするには、検索結果を取得するをご覧ください。
Cloud Storage からインポートする
Cloud Storage テーブルからデータストアを作成するには、次の 2 つの方法があります。
1 回限りの取り込み: Cloud Storage のフォルダまたはファイルからデータストアにデータをインポートします。データストア内のデータは、手動でデータを更新しない限り変更されません。
定期的な取り込み: Cloud Storage フォルダまたはファイルからデータをインポートし、同期頻度を設定します。この頻度によって、Cloud Storage のロケーションから最新のデータでデータストアが更新される頻度が決まります。
次の表は、Cloud Storage データを Vertex AI Search データストアにインポートする 2 つの方法を比較したものです。
1 回限りの取り込み | 定期的な取り込み |
---|---|
一般提供(GA)。 | 公開プレビュー版。 |
データは手動で更新する必要があります。 | データは 1 日、3 日、5 日ごとに自動的に更新されます。データを手動で更新することはできません。 |
Vertex AI Search は、Cloud Storage の 1 つのフォルダまたはファイルから単一のデータストアを作成します。 | Vertex AI Search はデータコネクタを作成し、指定されたファイルまたはフォルダにデータストア(エンティティ データストア)を関連付けます。各 Cloud Storage データコネクタには、単一のエンティティ データストアを設定できます。 |
複数のファイル、フォルダ、バケットのデータを 1 つのデータストアに結合するには、まず 1 つの Cloud Storage ロケーションからデータを取り込み、次に別のロケーションからデータを取り込みます。 | 手動でのデータ インポートはサポートされていないため、エンティティ データストア内のデータは 1 つの Cloud Storage ファイルまたはフォルダからのみ取得できます。 |
データソースへのアクセス制御がサポートされています。詳細については、データソースへのアクセス制御をご覧ください。 | データソースのアクセス制御はサポートされていません。インポートされたデータにはアクセス制御を含めることができますが、これらの制御は適用されません。 |
データストアは、Google Cloud コンソールまたは API を使用して作成できます。 | コンソールを使用して、データ コネクタとそのエンティティ データストアを作成する必要があります。 |
CMEK 準拠。 | CMEK 準拠。 |
Cloud Storage から 1 回インポートする
Cloud Storage からデータを取り込むには、次の手順で Google Cloud コンソールまたは API を使用してデータストアを作成し、データを取り込みます。
データをインポートする前に、取り込むデータを準備します。
コンソール
コンソールを使用して Cloud Storage バケットからデータを取り込むには、次の操作を行います。
Google Cloud コンソールで、[AI Applications] ページに移動します。
[データストア] ページに移動します。
[
データストアを作成] をクリックします。[ソース] ページで、[Cloud Storage] を選択します。
[インポートするフォルダまたはファイルを選択] セクションで、[フォルダ] または [ファイル] を選択します。
[参照] をクリックして、取り込み用に準備したデータを選択し、[選択] をクリックします。 または、[
gs://
] フィールドにロケーションを直接入力します。インポートするデータの種類を選択します。
[続行] をクリックします。
構造化データを 1 回限りでインポートする場合:
フィールドをキー プロパティにマッピングします。
スキーマに重要なフィールドが欠落している場合は、[新しいフィールドを追加] を使用して追加します。
詳しくは、自動検出と編集についてをご覧ください。
[続行] をクリックします。
データストアのリージョンを選択します。
データストアの名前を入力します。
省略可: 非構造化ドキュメントを選択した場合は、ドキュメントの解析とチャンキングのオプションを選択できます。パーサーを比較するには、ドキュメントを解析するをご覧ください。チャンク処理の詳細については、RAG 用にドキュメントをチャンクするをご覧ください。
OCR パーサーとレイアウト パーサーでは、追加費用が発生する可能性があります。Document AI 機能の料金をご覧ください。
パーサーを選択するには、[ドキュメント処理オプション] を開いて、使用するパーサー オプションを指定します。
[作成] をクリックします。
取り込みのステータスを確認するには、[データストア] ページに移動し、データストア名をクリックして、[データ] ページで詳細を表示します。 [アクティビティ] タブのステータス列が [進行中] から [インポート完了] に変わると、取り込みが完了します。
取り込みには、データのサイズに応じて、数分から数時間かかることがあります。
REST
コマンドラインを使用してデータストアを作成し、Cloud Storage からデータを取り込む手順は次のとおりです。
データストアを作成します。
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -H "X-Goog-User-Project: PROJECT_ID" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores?dataStoreId=DATA_STORE_ID" \ -d '{ "displayName": "DATA_STORE_DISPLAY_NAME", "industryVertical": "GENERIC", "solutionTypes": ["SOLUTION_TYPE_SEARCH"] }'
次のように置き換えます。
PROJECT_ID
: 実際の Google Cloud プロジェクト ID。DATA_STORE_ID
: 作成する Vertex AI Search データストアの ID。この ID に使用できるのは、小文字、数字、アンダースコア、ハイフンのみです。DATA_STORE_DISPLAY_NAME
: 作成する Vertex AI Search データストアの表示名。
省略可: 非構造化データをアップロードし、ドキュメント解析を構成するか、RAG のドキュメント チャンキングを有効にする場合は、
documentProcessingConfig
オブジェクトを指定して、データストアの作成リクエストに含めます。スキャンされた PDF を取り込む場合は、PDF 用の OCR パーサーを構成することをおすすめします。解析オプションまたはチャンク処理オプションの構成方法については、ドキュメントの解析とチャンク化をご覧ください。Cloud Storage からデータをインポートします。
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/branches/0/documents:import" \ -d '{ "gcsSource": { "inputUris": ["INPUT_FILE_PATTERN_1", "INPUT_FILE_PATTERN_2"], "dataSchema": "DATA_SCHEMA", }, "reconciliationMode": "RECONCILIATION_MODE", "autoGenerateIds": "AUTO_GENERATE_IDS", "idField": "ID_FIELD", "errorConfig": { "gcsPrefix": "ERROR_DIRECTORY" } }'
次のように置き換えます。
PROJECT_ID
: 実際の Google Cloud プロジェクト ID。DATA_STORE_ID
: Vertex AI Search データストアの ID。INPUT_FILE_PATTERN
: ドキュメントを含む Cloud Storage のファイル パターン。構造化データまたはメタデータを含む非構造化データの場合、入力ファイル パターンの例は
gs://<your-gcs-bucket>/directory/object.json
です。1 つ以上のファイルに一致するパターンの例はgs://<your-gcs-bucket>/directory/*.json
です。非構造化ドキュメントの場合、例は
gs://<your-gcs-bucket>/directory/*.pdf
です。パターンに一致する各ファイルがドキュメントになります。<your-gcs-bucket>
が PROJECT_ID にない場合は、サービス アカウントservice-<project number>@gcp-sa-discoveryengine.iam.gserviceaccount.com
に Cloud Storage バケットに対する「ストレージ オブジェクト閲覧者」権限を付与する必要があります。たとえば、ソース プロジェクト「123」から宛先プロジェクト「456」に Cloud Storage バケットをインポートする場合は、プロジェクト「123」の Cloud Storage バケットに対するservice-456@gcp-sa-discoveryengine.iam.gserviceaccount.com
権限を付与します。DATA_SCHEMA
: 省略可。値はdocument
、custom
、csv
およびcontent
です。デフォルトはdocument
です。document
: 構造化されていないドキュメントのメタデータを含む構造化されていないデータをアップロードします。ファイルの各行は、次のいずれかの形式にする必要があります。各ドキュメントの ID を定義できます。{ "id": "<your-id>", "jsonData": "<JSON string>", "content": { "mimeType": "<application/pdf or text/html>", "uri": "gs://<your-gcs-bucket>/directory/filename.pdf" } }
{ "id": "<your-id>", "structData": <JSON object>, "content": { "mimeType": "<application/pdf or text/html>", "uri": "gs://<your-gcs-bucket>/directory/filename.pdf" } }
custom
: 構造化ドキュメントの JSON をアップロードします。データはスキーマに従って整理されます。スキーマを指定できます。指定しない場合は、自動検出されます。ドキュメントの JSON 文字列を各行に一貫した形式で直接配置できます。Vertex AI Search は、インポートされた各ドキュメントの ID を自動的に生成します。content
: 非構造化ドキュメント(PDF、HTML、DOC、TXT、PPTX)をアップロードします。各ドキュメントの ID は、SHA256(GCS_URI) の最初の 128 ビットを 16 進文字列としてエンコードしたものが自動的に生成されます。一致するファイルが 10 万個のファイル上限を超えない限り、複数の入力ファイル パターンを指定できます。csv
: CSV ファイルにヘッダー行を含め、各ヘッダーをドキュメント フィールドにマッピングします。inputUris
フィールドを使用して、CSV ファイルのパスを指定します。
ERROR_DIRECTORY
: 省略可。インポートに関するエラー情報用の Cloud Storage ディレクトリ(例:gs://<your-gcs-bucket>/directory/import_errors
)。Vertex AI Search に一時ディレクトリを自動的に作成させるには、このフィールドを空のままにすることをおすすめします。RECONCILIATION_MODE
: 省略可。値はFULL
およびINCREMENTAL
です。デフォルトはINCREMENTAL
です。INCREMENTAL
を指定すると、Cloud Storage からデータストアへのデータの増分更新が行われます。これにより、アップサート オペレーションが実行され、新しいドキュメントを追加し、既存のドキュメントを更新された同じ ID のドキュメントで置き換えます。FULL
を指定すると、データストア内のドキュメントが完全に再ベース化されます。つまり、新しいドキュメントと更新されたドキュメントがデータストアに追加され、Cloud Storage にないドキュメントがデータストアから削除されます。FULL
モードは、不要になったドキュメントを自動的に削除する場合に便利です。AUTO_GENERATE_IDS
: 省略可。ドキュメント ID を自動的に生成するかどうかを指定します。true
に設定すると、ペイロードのハッシュに基づいてドキュメント ID が生成されます。生成されたドキュメント ID は、複数のインポートで一貫性が保たれない場合があります。複数のインポートで ID を自動生成する場合は、ドキュメント ID の整合性を維持するために、reconciliationMode
をFULL
に設定することを強くおすすめします。autoGenerateIds
は、gcsSource.dataSchema
がcustom
またはcsv
に設定されている場合にのみ指定します。それ以外の場合は、INVALID_ARGUMENT
エラーが返されます。autoGenerateIds
を指定しない場合、またはfalse
に設定する場合は、idField
を指定する必要があります。そうしないと、ドキュメントのインポートに失敗します。ID_FIELD
: 省略可。ドキュメント ID のフィールドを指定します。 Cloud Storage のソース ドキュメントの場合、idField
は、ドキュメント ID である JSON フィールドの名前を指定します。たとえば、{"my_id":"some_uuid"}
がドキュメントの 1 つのドキュメント ID フィールドの場合は、"idField":"my_id"
を指定します。これにより、名前が"my_id"
のすべての JSON フィールドがドキュメント ID として識別されます。gcsSource.dataSchema
は、(1)custom
がcsv
に設定されている、および(2)auto_generate_ids
がfalse
に設定されているか、未設定の場合にのみ指定します。それ以外の場合は、INVALID_ARGUMENT
エラーが返されます。Cloud Storage JSON フィールドの値は、文字列型で、1 から 63 文字の範囲で、RFC-1034 に準拠している必要があります。そうしないと、ドキュメントのインポートに失敗します。
id_field
で指定された JSON フィールド名は、文字列型で、1 から 63 文字の範囲で、RFC-1034 に準拠している必要があります。そうしないと、ドキュメントのインポートに失敗します。
C#
詳細については、Vertex AI Search C# API のリファレンス ドキュメントをご覧ください。
Vertex AI Search に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
データストアを作成
ドキュメントのインポート
Go
詳細については、Vertex AI Search Go API のリファレンス ドキュメントをご覧ください。
Vertex AI Search に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
データストアを作成
ドキュメントのインポート
Java
詳細については、Vertex AI Search Java API のリファレンス ドキュメントをご覧ください。
Vertex AI Search に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
データストアを作成
ドキュメントのインポート
Node.js
詳細については、Vertex AI Search Node.js API のリファレンス ドキュメントをご覧ください。
Vertex AI Search に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
データストアを作成
ドキュメントのインポート
Python
詳細については、Vertex AI Search Python API のリファレンス ドキュメントをご覧ください。
Vertex AI Search に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
データストアを作成
ドキュメントのインポート
Ruby
詳細については、Vertex AI Search Ruby API のリファレンス ドキュメントをご覧ください。
Vertex AI Search に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
データストアを作成
ドキュメントのインポート
定期的な同期で Cloud Storage に接続する
データをインポートする前に、取り込むデータを準備します。
次の手順では、Cloud Storage のロケーションを Vertex AI Search データコネクタに関連付けるデータコネクタを作成する方法と、作成するデータストアのロケーションにあるフォルダまたはファイルを指定する方法について説明します。データ コネクタの子データストアは、エンティティ データストアと呼ばれます。
データはエンティティ データストアに定期的に同期されます。同期は、毎日、3 日ごと、5 日ごとに指定できます。
コンソール
Google Cloud コンソールで、[AI Applications] ページに移動します。
[データストア] ページに移動します。
[データストアを作成] をクリックします。
[ソース] ページで、[Cloud Storage] を選択します。
インポートするデータの種類を選択します。
[Periodic] をクリックします。
[同期頻度] で、Vertex AI Search コネクタが Cloud Storage ロケーションと同期する頻度を選択します。頻度は後で変更できます。
[インポートするフォルダまたはファイルを選択] セクションで、[フォルダ] または [ファイル] を選択します。
[参照] をクリックして、取り込み用に準備したデータを選択し、[選択] をクリックします。 または、[
gs://
] フィールドにロケーションを直接入力します。[続行] をクリックします。
データコネクタのリージョンを選択します。
データストアの名前を入力します。
省略可: 非構造化ドキュメントを選択した場合は、ドキュメントの解析とチャンキングのオプションを選択できます。パーサーを比較するには、ドキュメントを解析するをご覧ください。チャンク処理の詳細については、RAG 用にドキュメントをチャンクするをご覧ください。
OCR パーサーとレイアウト パーサーでは、追加費用が発生する可能性があります。Document AI 機能の料金をご覧ください。
パーサーを選択するには、[ドキュメント処理オプション] を開いて、使用するパーサー オプションを指定します。
[作成] をクリックします。
これで、Cloud Storage のロケーションとデータを定期的に同期するデータコネクタが作成されました。また、
gcs_store
という名前のエンティティ データストアも作成しました。取り込みのステータスを確認するには、[データストア] ページに移動し、データコネクタ名をクリックして、[データ] ページで詳細を表示します。
[データ取り込みアクティビティ] タブ。[データ取り込みアクティビティ] タブのステータス列が [進行中] から [成功] に変わると、最初の取り込みが完了します。
取り込みには、データのサイズに応じて、数分から数時間かかることがあります。
データソースを設定してデータを初めてインポートすると、設定時に選択した頻度でそのソースからデータが同期されます。 データコネクタの作成から約 1 時間後に、最初の同期が行われます。 次の同期は、約 24 時間後、72 時間後、120 時間後のいずれかに行われます。
次のステップ
データストアをアプリに接続するには、検索アプリを作成するの手順に沿ってアプリを作成し、データストアを選択します。
アプリとデータストアが設定された後に検索結果がどのように表示されるかをプレビューするには、検索結果を取得するをご覧ください。
Google ドライブに接続する
Vertex AI Search は、データ フェデレーションを使用して Google ドライブのデータを検索できます。データ フェデレーションでは、指定したデータソースから直接情報を取得します。データは Vertex AI Search インデックスにコピーされないため、データ ストレージのことを考慮する必要はありません。
始める前に
- 接続する Google ドライブ インスタンスで使用するアカウントと同じアカウントで Google Cloud コンソールにログインする必要があります。Vertex AI Search は、Google Workspace お客様 ID を使用して Google ドライブに接続します。
- Vertex AI Search でデータソースのアクセス制御を適用してデータを保護するには、ID プロバイダが構成されていることを確認してください。
すべてのドキュメントにアクセスできることを確認します。このドメインが所有する共有ドライブにドキュメントを配置するか、所有権をこのドメインのユーザーに割り当てます。
Google Workspace のスマート機能を有効にして、Google ドライブのデータを Vertex AI Search に接続します。詳しくは、Google Workspace のスマート機能をオンまたはオフにするをご覧ください。
セキュリティ管理を使用する場合は、次の表で説明するように、Google ドライブのデータに関連する制限事項に注意してください。
セキュリティ対策 次の点にご注意ください データ所在地(DRZ) Vertex AI Search では、 Google Cloudでのデータ所在地のみが保証されます。データ所在地と Google ドライブについては、Google Workspace のコンプライアンス ガイダンスとドキュメント(データを保存するリージョンを選択するやデジタル主権など)をご覧ください。 顧客管理の暗号鍵(CMEK) 鍵は Google Cloud内のデータのみを暗号化します。Cloud Key Management Service の制御は、Google ドライブに保存されているデータには適用されません。 アクセスの透明性 アクセスの透明性では、Google の担当者が Google Cloud プロジェクトに対して行った操作が記録されます。また、Google Workspace によって作成されたアクセスの透明性ログを確認する必要があります。詳しくは、Google Workspace 管理者向けヘルプ ドキュメントのアクセスの透明性ログイベントをご覧ください。
Google ドライブのデータストアを作成する
Console
コンソールを使用して Google ドライブのデータを検索可能にする手順は次のとおりです。
Google Cloud コンソールで、[AI Applications] ページに移動します。
ナビゲーション メニューで [データストア] をクリックします。
[データストアを作成] をクリックします。
[データソースを選択] ページで、[Google ドライブ] を選択します。
データストアのドライブソースを指定します。
- すべて: ドライブ全体をデータストアに追加します。
- 特定の共有ドライブ: 共有ドライブのフォルダ ID を追加します。
- 特定の共有フォルダ: 共有フォルダの ID を追加します。
共有ドライブのフォルダ ID や特定のフォルダ ID を確認するには、共有ドライブまたはフォルダに移動して、URL から ID をコピーします。URL の形式は
https://drive.google.com/corp/drive/folders/ID
です。例:
https://drive.google.com/corp/drive/folders/123456789012345678901
[続行] をクリックします。
データストアのリージョンを選択します。
データストアの名前を入力します。
省略可: アプリを使用してデータをクエリするときに、このデータストアのデータが生成 AI コンテンツで使用されないようにするには、[生成 AI オプション] をクリックし、[生成 AI 機能から除外] を選択します。
[作成] をクリックします。
エラー メッセージ
次の表に、この Google データソースの使用中に表示される可能性のあるエラー メッセージについて、HTTP エラーコードと推奨されるトラブルシューティングの手順も含めて説明します。
エラーコード | エラー メッセージ | 説明 | トラブルシューティング |
---|---|---|---|
403(アクセスの拒否) | Google Workspace データストアでは、サービス アカウントの認証情報を使用した検索はサポートされていません。 | 検索対象のエンジンに Google Workspace データストアがあり、渡された認証情報はサービス アカウントのものです。Google Workspace データストアでサービス アカウントの認証情報を使用して検索することはできません。 | ユーザー認証情報を使用して検索を呼び出すか、Google Workspace データストアをエンジンから削除します。 |
403(アクセスの拒否) | Google Workspace データストアでは一般ユーザー向けアカウントはサポートされていません。 | 検索は一般ユーザー向けアカウント(@gmail.com)の認証情報を使用して呼び出されますが、これは Google Workspace データストアではサポートされていません。 | エンジンから Google Workspace データストアを削除するか、管理対象の Google アカウントを使用します。 |
403(アクセスの拒否) | データストアのお客様 ID が一致しません | 検索は、Google Workspace データストアと同じ組織に属するユーザーのみに許可されます。 | ユーザーと Google Workspace データストアが異なる組織に属している場合は、Google Workspace データストアをエンジンから削除するか、サポートにお問い合わせください。 |
400(引数が無効) | エンジンにデフォルトの Google ドライブ データストアと共有の Google ドライブ データストアの両方を含めることはできません。 | すべてのドライブを含むデータストア(デフォルト)と特定の共有ドライブを含むデータストアを同じアプリに接続することはできません。 | 新しい Google ドライブ データソースをアプリに接続するには、不要なデータストアのリンクを解除してから、使用する新しいデータストアを追加します。 |
トラブルシューティング
検索しても目的のファイルが見つからない場合は、検索インデックスの制限が原因である可能性があります。
ファイルから抽出できるテキストと書式設定データの量は 1 MB に限って検索可能となります。
ほとんどのファイル形式では、ファイルサイズの上限は 10 MB です。ただし、以下は例外となります。
- XLSX ファイル(.xlsx)の上限は 20 MB です。
- PDF ファイル(.pdf)の上限は 30 MB です。
- テキスト ファイル(.txt)の上限は 100 MB です。
PDF ファイルの光学式文字認識は 80 ページに制限されています。 50 MB または 80 ページを超える PDF はインデックスに登録されず、インデックスの上限である 1 MB を超えるキーワードは検索できません。
次のステップ
データストアをアプリに接続するには、検索アプリを作成するの手順に沿ってアプリを作成し、データストアを選択します。
アプリとデータストアが設定された後に検索結果を取得するには、検索結果を取得するをご覧ください。
Gmail に接続する
Google Cloud コンソールで Gmail に接続するデータストアを作成する手順は次のとおりです。データストアを接続したら、データストアを検索アプリに接続して、Gmail のデータを検索できます。
始める前に
- 接続する Google Workspace インスタンスで使用するアカウントと同じアカウントで Google Cloud コンソールにログインする必要があります。Vertex AI Search は、Google Workspace お客様 ID を使用して Gmail に接続します。
- Vertex AI Search でデータソースのアクセス制御を適用してデータを保護するには、ID プロバイダが構成されていることを確認してください。
制限事項
セキュリティ管理を使用する場合は、次の表で説明するように、Gmail のデータに関連する制限事項に注意してください。
セキュリティ対策 次の点にご注意ください データ所在地(DRZ) Vertex AI Search では、 Google Cloudでのデータ所在地のみが保証されます。データ所在地と Gmail については、Google Workspace のコンプライアンス ガイダンスとドキュメント(データを保存するリージョンを選択するやデジタル主権など)をご覧ください。 顧客管理の暗号鍵(CMEK) 鍵は Google Cloud内のデータのみを暗号化します。Cloud Key Management Service の制御は、Gmail に保存されているデータには適用されません。 アクセスの透明性 アクセスの透明性では、Google の担当者が Google Cloud プロジェクトに対して行った操作が記録されます。また、Google Workspace によって作成されたアクセスの透明性ログを確認する必要があります。詳しくは、Google Workspace 管理者向けヘルプ ドキュメントのアクセスの透明性ログイベントをご覧ください。
Gmail データストアを作成する
Console
コンソールを使用して Gmail のデータを検索可能にする手順は次のとおりです。
Google Cloud コンソールで、[AI Applications] ページに移動します。
ナビゲーション メニューで [データストア] をクリックします。
[データストアを作成] をクリックします。
[データソースを選択] ページで、[Google Gmail] を選択します。
データストアのリージョンを選択します。
データストアの名前を入力します。
[作成] をクリックします。
検索アプリを作成するの手順に沿って、作成したデータストアを Vertex AI Search アプリに接続します。
エラー メッセージ
次の表に、この Google データソースの使用中に表示される可能性のあるエラー メッセージについて、HTTP エラーコードと推奨されるトラブルシューティングの手順も含めて説明します。
エラーコード | エラー メッセージ | 説明 | トラブルシューティング |
---|---|---|---|
403(アクセスの拒否) | Google Workspace データストアでは、サービス アカウントの認証情報を使用した検索はサポートされていません。 | 検索対象のエンジンに Google Workspace データストアがあり、渡された認証情報はサービス アカウントのものです。Google Workspace データストアでサービス アカウントの認証情報を使用して検索することはできません。 | ユーザー認証情報を使用して検索を呼び出すか、Google Workspace データストアをエンジンから削除します。 |
403(アクセスの拒否) | Google Workspace データストアでは一般ユーザー向けアカウントはサポートされていません。 | 検索は一般ユーザー向けアカウント(@gmail.com)の認証情報を使用して呼び出されますが、これは Google Workspace データストアではサポートされていません。 | エンジンから Google Workspace データストアを削除するか、管理対象の Google アカウントを使用します。 |
403(アクセスの拒否) | データストアのお客様 ID が一致しません | 検索は、Google Workspace データストアと同じ組織に属するユーザーのみに許可されます。 | ユーザーと Google Workspace データストアが異なる組織に属している場合は、Google Workspace データストアをエンジンから削除するか、サポートにお問い合わせください。 |
400(引数が無効) | エンジンにデフォルトの Google ドライブ データストアと共有の Google ドライブ データストアの両方を含めることはできません。 | すべてのドライブを含むデータストア(デフォルト)と特定の共有ドライブを含むデータストアを同じアプリに接続することはできません。 | 新しい Google ドライブ データソースをアプリに接続するには、不要なデータストアのリンクを解除してから、使用する新しいデータストアを追加します。 |
次のステップ
- アプリとデータストアが設定された後に検索結果がどのように表示されるかをプレビューするには、検索結果をプレビューするをご覧ください。
Google サイトに接続する
Google サイトのデータを検索するには、次の手順で Google Cloud コンソールを使用してコネクタを作成します。
開始する前に、次のことを行います。
接続する Google Workspace インスタンスで使用するアカウントと同じアカウントで Google Cloud コンソールにログインする必要があります。Vertex AI Search は、Google Workspace お客様 ID を使用して Google サイトに接続します。
Vertex AI Search でデータソースのアクセス制御を適用してデータを保護するには、ID プロバイダが構成されていることを確認してください。
セキュリティ管理を使用する場合は、次の表で説明するように、Google サイトのデータに関連する制限事項に注意してください。
セキュリティ対策 次の点にご注意ください データ所在地(DRZ) Vertex AI Search では、 Google Cloudでのデータ所在地のみが保証されます。データ所在地と Google サイトについては、Google Workspace のコンプライアンス ガイダンスとドキュメント(データを保存するリージョンを選択するや デジタル主権など)をご覧ください。 顧客管理の暗号鍵(CMEK) 鍵は Google Cloud内のデータのみを暗号化します。Cloud Key Management Service の制御は、Google サイトに保存されているデータには適用されません。 アクセスの透明性 アクセスの透明性では、Google の担当者が Google Cloud プロジェクトに対して行った操作が記録されます。また、Google Workspace によって作成されたアクセスの透明性ログを確認する必要があります。詳しくは、Google Workspace 管理者向けヘルプ ドキュメントのアクセスの透明性ログイベントをご覧ください。
コンソール
コンソールを使用して Google サイトのデータを検索可能にする手順は次のとおりです。
Google Cloud コンソールで、[AI Applications] ページに移動します。
[データストア] ページに移動します。
[新しいデータストア] をクリックします。
[ソース] ページで、[Google サイト] を選択します。
データストアのリージョンを選択します。
データストアの名前を入力します。
[作成] をクリックします。
次のステップ
データストアをアプリに接続するには、検索アプリを作成するの手順に沿ってアプリを作成し、データストアを選択します。
アプリとデータストアが設定された後に検索結果がどのように表示されるかをプレビューするには、検索結果を取得するをご覧ください。
Google カレンダーに接続する
Google カレンダーのデータを検索するには、次の手順で Google Cloud コンソールを使用してデータストアを作成します。
始める前に
- 接続する Google Workspace インスタンスで使用するアカウントと同じアカウントで Google Cloud コンソールにログインする必要があります。Vertex AI Search は、Google Workspace お客様 ID を使用して Google カレンダーに接続します。
- Vertex AI Search でデータソースのアクセス制御を適用してデータを保護するには、ID プロバイダが構成されていることを確認してください。
セキュリティ管理を使用する場合は、次の表で説明するように、Google カレンダーのデータに関連する制限事項に注意してください。
セキュリティ対策 次の点にご注意ください データ所在地(DRZ) Vertex AI Search では、 Google Cloudでのデータ所在地のみが保証されます。データ所在地と Google カレンダーについては、Google Workspace のコンプライアンス ガイダンスとドキュメント(データを保存するリージョンを選択するやデジタル主権など)をご覧ください。 顧客管理の暗号鍵(CMEK) 鍵は Google Cloud内のデータのみを暗号化します。Cloud Key Management Service の制御は、Google カレンダーに保存されているデータには適用されません。 アクセスの透明性 アクセスの透明性では、Google の担当者が Google Cloud プロジェクトに対して行った操作が記録されます。また、Google Workspace によって作成されたアクセスの透明性ログを確認する必要があります。詳しくは、Google Workspace 管理者向けヘルプ ドキュメントのアクセスの透明性ログイベントをご覧ください。
Google カレンダーのデータストアを作成する
コンソールを使用して Google カレンダーのデータを検索可能にする手順は次のとおりです。
Google Cloud コンソールで、[AI Applications] ページに移動します。
ナビゲーション メニューで [データストア] をクリックします。
[データストアを作成] をクリックします。
[データソースを選択] ページで、[Google カレンダー] を選択します。
データストアのリージョンを選択します。
データストアの名前を入力します。
[作成] をクリックします。
エラー メッセージ
次の表に、この Google データソースの使用中に表示される可能性のあるエラー メッセージについて、HTTP エラーコードと推奨されるトラブルシューティングの手順も含めて説明します。
エラーコード | エラー メッセージ | 説明 | トラブルシューティング |
---|---|---|---|
403(アクセスの拒否) | Google Workspace データストアでは、サービス アカウントの認証情報を使用した検索はサポートされていません。 | 検索対象のエンジンに Google Workspace データストアがあり、渡された認証情報はサービス アカウントのものです。Google Workspace データストアでサービス アカウントの認証情報を使用して検索することはできません。 | ユーザー認証情報を使用して検索を呼び出すか、Google Workspace データストアをエンジンから削除します。 |
403(アクセスの拒否) | Google Workspace データストアでは一般ユーザー向けアカウントはサポートされていません。 | 検索は一般ユーザー向けアカウント(@gmail.com)の認証情報を使用して呼び出されますが、これは Google Workspace データストアではサポートされていません。 | エンジンから Google Workspace データストアを削除するか、管理対象の Google アカウントを使用します。 |
403(アクセスの拒否) | データストアのお客様 ID が一致しません | 検索は、Google Workspace データストアと同じ組織に属するユーザーのみに許可されます。 | ユーザーと Google Workspace データストアが異なる組織に属している場合は、Google Workspace データストアをエンジンから削除するか、サポートにお問い合わせください。 |
400(引数が無効) | エンジンにデフォルトの Google ドライブ データストアと共有の Google ドライブ データストアの両方を含めることはできません。 | すべてのドライブを含むデータストア(デフォルト)と特定の共有ドライブを含むデータストアを同じアプリに接続することはできません。 | 新しい Google ドライブ データソースをアプリに接続するには、不要なデータストアのリンクを解除してから、使用する新しいデータストアを追加します。 |
次のステップ
データストアをアプリに接続するには、検索アプリを作成するの手順に沿ってアプリを作成し、データストアを選択します。
アプリとデータストアが設定された後に検索結果を取得するには、検索結果を取得するをご覧ください。
Google グループに接続する
Google グループのデータを検索するには、次の手順で Google Cloud コンソールを使用してコネクタを作成します。
開始する前に、次のことを行います。
接続する Google Workspace インスタンスで使用するアカウントと同じアカウントで Google Cloud コンソールにログインする必要があります。Vertex AI Search は、Google Workspace お客様 ID を使用して Google グループに接続します。
Vertex AI Search でデータソースのアクセス制御を適用してデータを保護するには、ID プロバイダが構成されていることを確認してください。
セキュリティ管理を使用する場合は、次の表で説明するように、Google グループのデータに関連する制限事項に注意してください。
セキュリティ対策 次の点にご注意ください データ所在地(DRZ) Vertex AI Search では、 Google Cloudでのデータ所在地のみが保証されます。データ所在地と Google グループについては、Google Workspace のコンプライアンス ガイダンスとドキュメント(データを保存するリージョンを選択するや デジタル主権など)をご覧ください。 顧客管理の暗号鍵(CMEK) 鍵は Google Cloud内のデータのみを暗号化します。Cloud Key Management Service の制御は、Google グループに保存されているデータには適用されません。 アクセスの透明性 アクセスの透明性では、Google の担当者が Google Cloud プロジェクトに対して行った操作が記録されます。また、Google Workspace によって作成されたアクセスの透明性ログを確認する必要があります。詳しくは、Google Workspace 管理者向けヘルプ ドキュメントのアクセスの透明性ログイベントをご覧ください。
コンソール
コンソールを使用して Google グループのデータを検索可能にする手順は次のとおりです。
Google Cloud コンソールで、[AI Applications] ページに移動します。
[データストア] ページに移動します。
[新しいデータストア] をクリックします。
[ソース] ページで、[Google グループ] を選択します。
データストアのリージョンを選択します。
データストアの名前を入力します。
[作成] をクリックします。取り込みには、データのサイズに応じて、数分から数時間かかることがあります。データストアを検索に使用する前に、少なくとも 1 時間待ちます。
次のステップ
データストアをアプリに接続するには、検索アプリを作成するの手順に沿ってアプリを作成し、データストアを選択します。
アプリとデータストアが設定された後に検索結果がどのように表示されるかをプレビューするには、検索結果を取得するをご覧ください。
Cloud SQL からインポート
Cloud SQL からデータを取り込むには、次の手順で Cloud SQL へのアクセスを設定し、データストアを作成してデータを取り込みます。
Cloud SQL インスタンスのステージング バケットへのアクセスを設定する
Cloud SQL からデータを取り込む場合、データは最初に Cloud Storage バケットにステージングされます。Cloud SQL インスタンスに Cloud Storage バケットへのアクセス権を付与する手順は次のとおりです。
Google Cloud コンソールで、[SQL] ページに移動します。
インポート元の Cloud SQL インスタンスをクリックします。
メールアドレスのようなインスタンスのサービス アカウントの ID(例:
p9876-abcd33f@gcp-sa-cloud-sql.iam.gserviceaccount.com
)をコピーします。[IAM と管理] ページに移動
[アクセス権を付与] をクリックします。
[新しいプリンシパル] で、インスタンスのサービス アカウント ID を入力し、[Cloud Storage] > [ストレージ管理者] ロールを選択します。
[保存] をクリックします。
次は:
Cloud SQL データが Vertex AI Search と同じプロジェクトにある場合: Cloud SQL からデータをインポートするに移動します。
Cloud SQL データが Vertex AI Search プロジェクトとは異なるプロジェクトにある場合: 別のプロジェクトから Cloud SQL へのアクセスを設定するに進みます。
別のプロジェクトから Cloud SQL へのアクセスを設定する
別のプロジェクトにある Cloud SQL データに Vertex AI Search がアクセスできるようにするには、次の操作を行います。
次の
PROJECT_NUMBER
変数を Vertex AI Search プロジェクト番号に置き換えてから、コードブロックの内容をコピーします。これは、Vertex AI Search サービス アカウントの識別子です。service-PROJECT_NUMBER@gcp-sa-discoveryengine.iam.gserviceaccount.com`
[IAM と管理] ページに移動
[IAM と管理] ページで Cloud SQL プロジェクトに切り替え、[アクセス権を付与] をクリックします。
[新しいプリンシパル] で、サービス アカウントの ID を入力し、[Cloud SQL] > [Cloud SQL 閲覧者] ロールを選択します。
[保存] をクリックします。
次に、Cloud SQL からデータをインポートするに進みます。
Cloud SQL からデータをインポートする
Console
コンソールを使用して Cloud SQL からデータを読み込む手順は次のとおりです。
Google Cloud コンソールで、[AI Applications] ページに移動します。
[データストア] ページに移動します。
[新しいデータストア] をクリックします。
[ソース] ページで、[Cloud SQL] を選択します。
インポートするデータのプロジェクト ID、インスタンス ID、データベース ID、テーブル ID を指定します。
[参照] をクリックして、データのエクスポート先となる中間 Cloud Storage のロケーションを選択し、[選択] をクリックします。または、[
gs://
] フィールドにロケーションを直接入力します。サーバーレス エクスポートを有効にするかどうかを選択します。サーバーレス エクスポートには追加料金が発生します。サーバーレス エクスポートについては、Cloud SQL ドキュメントのエクスポートのパフォーマンスへの影響を最小限に抑えるをご覧ください。
[続行] をクリックします。
データストアのリージョンを選択します。
データストアの名前を入力します。
[作成] をクリックします。
取り込みのステータスを確認するには、[データストア] ページに移動し、データストア名をクリックして、[データ] ページで詳細を表示します。 [アクティビティ] タブのステータス列が [進行中] から [インポート完了] に変わると、取り込みが完了します。
取り込みには、データのサイズに応じて、数分から数時間かかることがあります。
REST
コマンドラインを使用してデータストアを作成し、Cloud SQL からデータを取り込む手順は次のとおりです。
データストアを作成します。
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -H "X-Goog-User-Project: PROJECT_ID" \ "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores?dataStoreId=DATA_STORE_ID" \ -d '{ "displayName": "DISPLAY_NAME", "industryVertical": "GENERIC", "solutionTypes": ["SOLUTION_TYPE_SEARCH"], }'
次のように置き換えます。
PROJECT_ID
: 実際のプロジェクトの ID。DATA_STORE_ID
: データストアの ID。ID に使用できるのは、小文字、数字、アンダースコア、ハイフンのみです。DISPLAY_NAME
: データストアの表示名。これは Google Cloud コンソールに表示されることがあります。
Cloud SQL からデータをインポートします。
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/branches/0/documents:import" \ -d '{ "cloudSqlSource": { "projectId": "SQL_PROJECT_ID", "instanceId": "INSTANCE_ID", "databaseId": "DATABASE_ID", "tableId": "TABLE_ID", "gcsStagingDir": "STAGING_DIRECTORY" }, "reconciliationMode": "RECONCILIATION_MODE", "autoGenerateIds": "AUTO_GENERATE_IDS", "idField": "ID_FIELD", }'
次のように置き換えます。
PROJECT_ID
: Vertex AI Search プロジェクトの ID。DATA_STORE_ID
: データストアの ID。ID に使用できるのは、小文字、数字、アンダースコア、ハイフンのみです。SQL_PROJECT_ID
: Cloud SQL プロジェクトの ID。INSTANCE_ID
: Cloud SQL インスタンスの ID。DATABASE_ID
: Cloud SQL データベースの ID。TABLE_ID
: Cloud SQL テーブルの ID。STAGING_DIRECTORY
: 省略可。Cloud Storage ディレクトリ(例:gs://<your-gcs-bucket>/directory/import_errors
)。RECONCILIATION_MODE
: 省略可。値はFULL
、およびINCREMENTAL
です。デフォルトはINCREMENTAL
です。INCREMENTAL
を指定すると、Cloud SQL からデータストアへのデータの増分更新が行われます。これにより、アップサート オペレーションが実行され、新しいドキュメントを追加し、既存のドキュメントを更新された同じ ID のドキュメントで置き換えます。FULL
を指定すると、データストア内のドキュメントが完全に再ベース化されます。つまり、新しいドキュメントと更新されたドキュメントはデータストアに追加され、Cloud SQL にないドキュメントはデータストアから削除されます。FULL
モードは、不要になったドキュメントを自動的に削除する場合に便利です。
Python
詳細については、Vertex AI Search Python API のリファレンス ドキュメントをご覧ください。
Vertex AI Search に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
データストアを作成
ドキュメントのインポート
次のステップ
データストアをアプリに接続するには、検索アプリを作成するの手順に沿ってアプリを作成し、データストアを選択します。
アプリとデータストアが設定された後に検索結果がどのように表示されるかをプレビューするには、検索結果を取得するをご覧ください。
Spanner からインポートする
Spanner からデータを取り込むには、次の手順で Google Cloud コンソールまたは API を使用してデータストアを作成し、データを取り込みます。
別のプロジェクトから Spanner へのアクセスを設定する
Spanner データが Vertex AI Search と同じプロジェクトにある場合は、Spanner からデータをインポートするに進みます。
別のプロジェクトにある Spanner データに Vertex AI Search がアクセスできるようにするには、次の操作を行います。
次の
PROJECT_NUMBER
変数を Vertex AI Search プロジェクト番号に置き換えてから、このコードブロックの内容をコピーします。これは、Vertex AI Search サービス アカウントの識別子です。service-PROJECT_NUMBER@gcp-sa-discoveryengine.iam.gserviceaccount.com
[IAM と管理] ページに移動
[IAM と管理] ページで Spanner プロジェクトに切り替え、[アクセス権を付与] をクリックします。
[新しいプリンシパル] に、サービス アカウントの ID を入力し、次のいずれかを選択します。
- インポート中にデータブーストを使用しない場合は、[Cloud Spanner] > [Cloud Spanner データベース読み取り] ロールを選択します。
- インポート中にデータブーストを使用する場合は、[Cloud Spanner] > [Cloud Spanner データベース管理者] ロール、または [Cloud Spanner データベース読み取り] と [spanner.databases.useDataBoost] の権限を持つカスタムロールを選択します。Data Boost については、Spanner ドキュメントの Data Boost の概要をご覧ください。
[保存] をクリックします。
次に、Spanner からデータをインポートするに進みます。
Spanner からデータをインポートする
Console
コンソールを使用して Spanner からデータを読み込む手順は次のとおりです。
Google Cloud コンソールで、[AI Applications] ページに移動します。
[データストア] ページに移動します。
[新しいデータストア] をクリックします。
[ソース] ページで、[Cloud Spanner] を選択します。
インポートするデータのプロジェクト ID、インスタンス ID、データベース ID、テーブル ID を指定します。
Data Boost をオンにするかどうかを選択します。Data Boost については、Spanner ドキュメントの Data Boost の概要をご覧ください。
[続行] をクリックします。
データストアのリージョンを選択します。
データストアの名前を入力します。
[作成] をクリックします。
取り込みのステータスを確認するには、[データストア] ページに移動し、データストア名をクリックして、[データ] ページで詳細を表示します。 [アクティビティ] タブのステータス列が [進行中] から [インポート完了] に変わると、取り込みが完了します。
取り込みには、データのサイズに応じて、数分から数時間かかることがあります。
REST
コマンドラインを使用してデータストアを作成し、Spanner からデータを取り込む手順は次のとおりです。
データストアを作成します。
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -H "X-Goog-User-Project: PROJECT_ID" \ "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores?dataStoreId=DATA_STORE_ID" \ -d '{ "displayName": "DISPLAY_NAME", "industryVertical": "GENERIC", "solutionTypes": ["SOLUTION_TYPE_SEARCH"], "contentConfig": "CONTENT_REQUIRED", }'
次のように置き換えます。
PROJECT_ID
: Vertex AI Search プロジェクトの ID。DATA_STORE_ID
: データストアの ID。ID に使用できるのは、小文字、数字、アンダースコア、ハイフンのみです。DISPLAY_NAME
: データストアの表示名。これは Google Cloud コンソールに表示されることがあります。
Spanner からデータをインポートします。
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/branches/0/documents:import" \ -d '{ "cloudSpannerSource": { "projectId": "SPANNER_PROJECT_ID", "instanceId": "INSTANCE_ID", "databaseId": "DATABASE_ID", "tableId": "TABLE_ID", "enableDataBoost": "DATA_BOOST_BOOLEAN" }, "reconciliationMode": "RECONCILIATION_MODE", "autoGenerateIds": "AUTO_GENERATE_IDS", "idField": "ID_FIELD", }'
次のように置き換えます。
PROJECT_ID
: Vertex AI Search プロジェクトの ID。DATA_STORE_ID
: データストアの ID。SPANNER_PROJECT_ID
: Spanner プロジェクトの ID。INSTANCE_ID
: Spanner インスタンスの ID。DATABASE_ID
: Spanner データベースの ID。TABLE_ID
: Spanner テーブルの ID。DATA_BOOST_BOOLEAN
: 省略可。Data Boost をオンにするかどうか。 Data Boost については、Spanner ドキュメントの Data Boost の概要をご覧ください。RECONCILIATION_MODE
: 省略可。値はFULL
、およびINCREMENTAL
です。デフォルトはINCREMENTAL
です。INCREMENTAL
を指定すると、Spanner からデータストアへのデータの増分更新が行われます。これにより、アップサート オペレーションが実行され、新しいドキュメントを追加し、既存のドキュメントを更新された同じ ID のドキュメントで置き換えます。FULL
を指定すると、データストア内のドキュメントが完全に再ベース化されます。つまり、新しいドキュメントと更新されたドキュメントがデータストアに追加され、Spanner にないドキュメントがデータストアから削除されます。FULL
モードは、不要になったドキュメントを自動的に削除する場合に便利です。AUTO_GENERATE_IDS
: 省略可。ドキュメント ID を自動的に生成するかどうかを指定します。true
に設定すると、ペイロードのハッシュに基づいてドキュメント ID が生成されます。生成されたドキュメント ID は、複数のインポートで一貫性が保たれない場合があります。複数のインポートで ID を自動生成する場合は、ドキュメント ID の整合性を維持するために、reconciliationMode
をFULL
に設定することを強くおすすめします。ID_FIELD
: 省略可。ドキュメント ID のフィールドを指定します。
Python
詳細については、Vertex AI Search Python API のリファレンス ドキュメントをご覧ください。
Vertex AI Search に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
データストアを作成
ドキュメントのインポート
次のステップ
データストアをアプリに接続するには、検索アプリを作成するの手順に沿ってアプリを作成し、データストアを選択します。
アプリとデータストアが設定された後に検索結果がどのように表示されるかをプレビューするには、検索結果を取得するをご覧ください。
Firestore からインポートする
Firestore からデータを取り込むには、次の手順で Google Cloud コンソールまたは API を使用してデータストアを作成し、データを取り込みます。
Firestore データが Vertex AI Search と同じプロジェクトにある場合は、Firestore からデータをインポートするに進みます。
Firestore データが Vertex AI Search プロジェクトとは異なるプロジェクトにある場合は、Firestore アクセスを設定するに移動します。
別のプロジェクトから Firestore へのアクセスを設定する
別のプロジェクトにある Firestore データに Vertex AI Search がアクセスできるようにするには、次の操作を行います。
次の
PROJECT_NUMBER
変数を Vertex AI Search プロジェクト番号に置き換えてから、このコードブロックの内容をコピーします。これは、Vertex AI Search サービス アカウントの識別子です。service-PROJECT_NUMBER@gcp-sa-discoveryengine.iam.gserviceaccount.com
[IAM と管理] ページに移動
[IAM と管理] ページで Firestore プロジェクトに切り替え、[アクセス権を付与] をクリックします。
[新しいプリンシパル] で、インスタンスのサービス アカウント ID を入力し、[Datastore] > [Cloud Datastore インポート / エクスポート管理者] ロールを選択します。
[保存] をクリックします。
Vertex AI Search プロジェクトに戻ります。
次に、Firestore からデータをインポートするに進みます。
Firestore からデータをインポートする
Console
コンソールを使用して Firestore からデータを読み込む手順は次のとおりです。
Google Cloud コンソールで、[AI Applications] ページに移動します。
[データストア] ページに移動します。
[新しいデータストア] をクリックします。
[ソース] ページで、[Firestore] を選択します。
インポートするデータのプロジェクト ID、データベース ID、コレクション ID を指定します。
[続行] をクリックします。
データストアのリージョンを選択します。
データストアの名前を入力します。
[作成] をクリックします。
取り込みのステータスを確認するには、[データストア] ページに移動し、データストア名をクリックして、[データ] ページで詳細を表示します。 [アクティビティ] タブのステータス列が [進行中] から [インポート完了] に変わると、取り込みが完了します。
取り込みには、データのサイズに応じて、数分から数時間かかることがあります。
REST
コマンドラインを使用してデータストアを作成し、Firestore からデータを取り込む手順は次のとおりです。
データストアを作成します。
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -H "X-Goog-User-Project: PROJECT_ID" \ "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores?dataStoreId=DATA_STORE_ID" \ -d '{ "displayName": "DISPLAY_NAME", "industryVertical": "GENERIC", "solutionTypes": ["SOLUTION_TYPE_SEARCH"], }'
次のように置き換えます。
PROJECT_ID
: 実際のプロジェクトの ID。DATA_STORE_ID
: データストアの ID。ID に使用できるのは、小文字、数字、アンダースコア、ハイフンのみです。DISPLAY_NAME
: データストアの表示名。これは Google Cloud コンソールに表示されることがあります。
Firestore からデータをインポートします。
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/branches/0/documents:import" \ -d '{ "firestoreSource": { "projectId": "FIRESTORE_PROJECT_ID", "databaseId": "DATABASE_ID", "collectionId": "COLLECTION_ID", }, "reconciliationMode": "RECONCILIATION_MODE", "autoGenerateIds": "AUTO_GENERATE_IDS", "idField": "ID_FIELD", }'
次のように置き換えます。
PROJECT_ID
: Vertex AI Search プロジェクトの ID。DATA_STORE_ID
: データストアの ID。ID に使用できるのは、小文字、数字、アンダースコア、ハイフンのみです。FIRESTORE_PROJECT_ID
: Firestore プロジェクトの ID。DATABASE_ID
: Firestore データベースの ID。COLLECTION_ID
: Firestore コレクションの ID。RECONCILIATION_MODE
: 省略可。値はFULL
、およびINCREMENTAL
です。デフォルトはINCREMENTAL
です。INCREMENTAL
を指定すると、Firestore からデータストアへのデータの増分更新が行われます。これにより、アップサート オペレーションが実行され、新しいドキュメントを追加し、既存のドキュメントを更新された同じ ID のドキュメントで置き換えます。FULL
を指定すると、データストア内のドキュメントが完全に再ベース化されます。つまり、新しいドキュメントと更新されたドキュメントがデータストアに追加され、Firestore にないドキュメントがデータストアから削除されます。FULL
モードは、不要になったドキュメントを自動的に削除する場合に便利です。AUTO_GENERATE_IDS
: 省略可。ドキュメント ID を自動的に生成するかどうかを指定します。true
に設定すると、ペイロードのハッシュに基づいてドキュメント ID が生成されます。生成されたドキュメント ID は、複数のインポートで一貫性が保たれない場合があります。複数のインポートで ID を自動生成する場合は、ドキュメント ID の整合性を維持するために、reconciliationMode
をFULL
に設定することを強くおすすめします。ID_FIELD
: 省略可。ドキュメント ID のフィールドを指定します。
Python
詳細については、Vertex AI Search Python API のリファレンス ドキュメントをご覧ください。
Vertex AI Search に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
データストアを作成
ドキュメントのインポート
次のステップ
データストアをアプリに接続するには、検索アプリを作成するの手順に沿ってアプリを作成し、データストアを選択します。
アプリとデータストアが設定された後に検索結果がどのように表示されるかをプレビューするには、検索結果を取得するをご覧ください。
Bigtable からインポートする
Bigtable からデータを取り込むには、次の手順でデータストアを作成し、API を使用してデータを取り込みます。
Bigtable へのアクセスを設定する
別のプロジェクトにある Bigtable データに Vertex AI Search がアクセスできるようにする手順は次のとおりです。
次の
PROJECT_NUMBER
変数を Vertex AI Search プロジェクト番号に置き換えてから、このコードブロックの内容をコピーします。これは、Vertex AI Search サービス アカウントの識別子です。service-PROJECT_NUMBER@gcp-sa-discoveryengine.iam.gserviceaccount.com`
[IAM と管理] ページに移動
[IAM と管理] ページで Bigtable プロジェクトに切り替え、[アクセス権を付与] をクリックします。
[新しいプリンシパル] で、インスタンスのサービス アカウント ID を入力し、[Bigtable] > [Bigtable Reader] ロールを選択します。
[保存] をクリックします。
Vertex AI Search プロジェクトに戻ります。
次に、Bigtable からデータをインポートするに進みます。
Bigtable からデータをインポートする
REST
コマンドラインを使用してデータストアを作成し、Bigtable からデータを取り込む手順は次のとおりです。
データストアを作成します。
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -H "X-Goog-User-Project: PROJECT_ID" \ "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores?dataStoreId=DATA_STORE_ID" \ -d '{ "displayName": "DISPLAY_NAME", "industryVertical": "GENERIC", "solutionTypes": ["SOLUTION_TYPE_SEARCH"], }'
次のように置き換えます。
PROJECT_ID
: 実際のプロジェクトの ID。DATA_STORE_ID
: データストアの ID。ID に使用できるのは、小文字、数字、アンダースコア、ハイフンのみです。DISPLAY_NAME
: データストアの表示名。これは Google Cloud コンソールに表示されることがあります。
Bigtable からデータをインポートします。
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/branches/0/documents:import" \ -d '{ "bigtableSource ": { "projectId": "BIGTABLE_PROJECT_ID", "instanceId": "INSTANCE_ID", "tableId": "TABLE_ID", "bigtableOptions": { "keyFieldName": "KEY_FIELD_NAME", "families": { "key": "KEY", "value": { "fieldName": "FIELD_NAME", "encoding": "ENCODING", "type": "TYPE", "columns": [ { "qualifier": "QUALIFIER", "fieldName": "FIELD_NAME", "encoding": "COLUMN_ENCODING", "type": "COLUMN_VALUES_TYPE" } ] } } ... } }, "reconciliationMode": "RECONCILIATION_MODE", "autoGenerateIds": "AUTO_GENERATE_IDS", "idField": "ID_FIELD", }'
次のように置き換えます。
PROJECT_ID
: Vertex AI Search プロジェクトの ID。DATA_STORE_ID
: データストアの ID。ID に使用できるのは、小文字、数字、アンダースコア、ハイフンのみです。BIGTABLE_PROJECT_ID
: Bigtable プロジェクトの ID。INSTANCE_ID
: Bigtable インスタンスの ID。TABLE_ID
: Bigtable テーブルの ID。KEY_FIELD_NAME
: 省略可能ですが、指定することをおすすめします。Vertex AI Search に取り込んだ後に、行キー値に使用するフィールド名。KEY
: 必須。列ファミリー キーの文字列値。ENCODING
: 省略可。型が STRING でない場合の値のエンコード モード。これは、columns
に列を一覧表示して、エンコードを指定することによって、特定の列に対してオーバーライドできます。COLUMN_TYPE
: 省略可。この列ファミリーの値の型。QUALIFIER
: 必須。列の修飾子。FIELD_NAME
: 省略可能ですが、指定することをおすすめします。Vertex AI Search に取り込んだ後、この列に使用するフィールド名。COLUMN_ENCODING
: 省略可。型が STRING でない場合の特定の列の値のエンコード モード。RECONCILIATION_MODE
: 省略可。値はFULL
、およびINCREMENTAL
です。デフォルトはINCREMENTAL
です。INCREMENTAL
を指定すると、Bigtable からデータストアへのデータの増分更新が行われます。これにより、アップサート オペレーションが実行され、新しいドキュメントを追加し、既存のドキュメントを更新された同じ ID のドキュメントで置き換えます。FULL
を指定すると、データストア内のドキュメントが完全に再ベース化されます。つまり、新しいドキュメントと更新されたドキュメントがデータストアに追加され、Bigtable にないドキュメントがデータストアから削除されます。FULL
モードは、不要になったドキュメントを自動的に削除する場合に便利です。AUTO_GENERATE_IDS
: 省略可。ドキュメント ID を自動的に生成するかどうかを指定します。true
に設定すると、ペイロードのハッシュに基づいてドキュメント ID が生成されます。生成されたドキュメント ID は、複数のインポートで一貫性が保たれない場合があります。複数のインポートで ID を自動生成する場合は、ドキュメント ID の整合性を維持するために、reconciliationMode
をFULL
に設定することを強くおすすめします。autoGenerateIds
は、bigquerySource.dataSchema
がcustom
に設定されている場合にのみ指定します。それ以外の場合は、INVALID_ARGUMENT
エラーが返されます。autoGenerateIds
を指定しない場合、またはfalse
に設定する場合は、idField
を指定する必要があります。そうしないと、ドキュメントのインポートに失敗します。ID_FIELD
: 省略可。ドキュメント ID のフィールドを指定します。
Python
詳細については、Vertex AI Search Python API のリファレンス ドキュメントをご覧ください。
Vertex AI Search に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
データストアを作成
ドキュメントのインポート
次のステップ
データストアをアプリに接続するには、検索アプリを作成するの手順に沿ってアプリを作成し、データストアを選択します。
アプリとデータストアが設定された後に検索結果がどのように表示されるかをプレビューするには、検索結果を取得するをご覧ください。
AlloyDB for PostgreSQL からインポートする
AlloyDB for PostgreSQL からデータを取り込むには、次の手順で Google Cloud コンソールまたは API を使用してデータストアを作成し、データを取り込みます。
AlloyDB for PostgreSQL データが Vertex AI Search プロジェクトと同じプロジェクトにある場合は、AlloyDB for PostgreSQL からデータをインポートするをご覧ください。
AlloyDB for PostgreSQL データが Vertex AI Search プロジェクトとは異なるプロジェクトにある場合は、AlloyDB for PostgreSQL アクセスを設定するに移動します。
別のプロジェクトから AlloyDB for PostgreSQL へのアクセスを設定する
別のプロジェクトにある AlloyDB for PostgreSQL データに Vertex AI Search がアクセスできるようにするには、次の操作を行います。
次の
PROJECT_NUMBER
変数を Vertex AI Search プロジェクト番号に置き換えてから、このコードブロックの内容をコピーします。これは、Vertex AI Search サービス アカウントの識別子です。service-PROJECT_NUMBER@gcp-sa-discoveryengine.iam.gserviceaccount.com
AlloyDB for PostgreSQL データが存在する Google Cloud プロジェクトに切り替えます。
IAM ページに移動します。
[アクセス権を付与] をクリックします。
[新しいプリンシパル] で、Vertex AI Search サービス アカウント ID を入力し、[Cloud AlloyDB] > [Cloud AlloyDB 管理者] ロールを選択します。
[保存] をクリックします。
Vertex AI Search プロジェクトに戻ります。
次に、AlloyDB for PostgreSQL からデータをインポートするに進みます。
AlloyDB for PostgreSQL からデータをインポートする
Console
コンソールを使用して AlloyDB for PostgreSQL からデータを取り込む手順は次のとおりです。
Google Cloud コンソールで、[AI Applications] ページに移動します。
ナビゲーション メニューで [データストア] をクリックします。
[データストアを作成] をクリックします。
[ソース] ページで、[AlloyDB] を選択します。
インポートするデータのプロジェクト ID、ロケーション ID、クラスタ ID、データベース ID、テーブル ID を指定します。
[続行] をクリックします。
データストアのリージョンを選択します。
データストアの名前を入力します。
[作成] をクリックします。
取り込みのステータスを確認するには、[データストア] ページに移動し、データストア名をクリックして、[データ] ページで詳細を表示します。 [アクティビティ] タブのステータス列が [進行中] から [インポート完了] に変わると、取り込みが完了します。
取り込みには、データのサイズに応じて、数分から数時間かかることがあります。
REST
コマンドラインを使用してデータストアを作成し、AlloyDB for PostgreSQL からデータを取り込む手順は次のとおりです。
データストアを作成します。
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -H "X-Goog-User-Project: PROJECT_ID" \ "https://discoveryengine.googleapis.com/v1beta/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores?dataStoreId=DATA_STORE_ID" \ -d '{ "displayName": "DISPLAY_NAME", "industryVertical": "GENERIC", "solutionTypes": ["SOLUTION_TYPE_SEARCH"], }'
次のように置き換えます。
PROJECT_ID
: 実際のプロジェクトの ID。DATA_STORE_ID
: データストアの ID。ID に使用できるのは、小文字、数字、アンダースコア、ハイフンのみです。DISPLAY_NAME
: データストアの表示名。これは Google Cloud コンソールに表示されることがあります。
AlloyDB for PostgreSQL からデータをインポートします。
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/branches/0/documents:import" \ -d '{ "alloydbSource": { "projectId": "ALLOYDB_PROJECT_ID", "locationId": "LOCATION_ID", "clusterId": "CLUSTER_ID", "databaseId": "DATABASE_ID", "tableId": "TABLE_ID", }, "reconciliationMode": "RECONCILIATION_MODE", "autoGenerateIds": "AUTO_GENERATE_IDS", "idField": "ID_FIELD", }'
次のように置き換えます。
PROJECT_ID
: Vertex AI Search プロジェクトの ID。DATA_STORE_ID
: データストアの ID。ID に使用できるのは、小文字、数字、アンダースコア、ハイフンのみです。ALLOYDB_PROJECT_ID
: AlloyDB for PostgreSQL プロジェクトの ID。LOCATION_ID
: AlloyDB for PostgreSQL ロケーションの ID。CLUSTER_ID
: AlloyDB for PostgreSQL クラスタの ID。DATABASE_ID
: AlloyDB for PostgreSQL データベースの ID。TABLE_ID
: AlloyDB for PostgreSQL テーブルの ID。RECONCILIATION_MODE
: 省略可。値はFULL
、およびINCREMENTAL
です。デフォルトはINCREMENTAL
です。INCREMENTAL
を指定すると、AlloyDB for PostgreSQL からデータストアへのデータの増分更新が行われます。これにより、アップサート オペレーションが実行され、新しいドキュメントを追加し、既存のドキュメントを更新された同じ ID のドキュメントで置き換えます。FULL
を指定すると、データストア内のドキュメントが完全に再ベース化されます。つまり、新しいドキュメントと更新されたドキュメントがデータストアに追加され、AlloyDB for PostgreSQL にないドキュメントがデータストアから削除されます。FULL
モードは、不要になったドキュメントを自動的に削除する場合に便利です。AUTO_GENERATE_IDS
: 省略可。ドキュメント ID を自動的に生成するかどうかを指定します。true
に設定すると、ペイロードのハッシュに基づいてドキュメント ID が生成されます。生成されたドキュメント ID は、複数のインポートで一貫性が保たれない場合があります。複数のインポートで ID を自動生成する場合は、ドキュメント ID の整合性を維持するために、reconciliationMode
をFULL
に設定することを強くおすすめします。ID_FIELD
: 省略可。ドキュメント ID のフィールドを指定します。
Python
詳細については、Vertex AI Search Python API のリファレンス ドキュメントをご覧ください。
Vertex AI Search に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
データストアを作成
ドキュメントのインポート
次のステップ
データストアをアプリに接続するには、検索アプリを作成するの手順に沿ってアプリを作成し、データストアを選択します。
アプリとデータストアが設定された後に検索結果がどのように表示されるかをプレビューするには、検索結果を取得するをご覧ください。
API を使用して構造化 JSON データをアップロードする
API を使用して JSON ドキュメントまたはオブジェクトを直接アップロードする手順は次のとおりです。
データをインポートする前に、取り込むデータを準備します。
REST
コマンドラインを使用してデータストアを作成し、構造化 JSON データをインポートする手順は次のとおりです。
データストアを作成します。
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -H "X-Goog-User-Project: PROJECT_ID" \ "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores?dataStoreId=DATA_STORE_ID" \ -d '{ "displayName": "DATA_STORE_DISPLAY_NAME", "industryVertical": "GENERIC", "solutionTypes": ["SOLUTION_TYPE_SEARCH"] }'
次のように置き換えます。
PROJECT_ID
: 実際の Google Cloud プロジェクト ID。DATA_STORE_ID
: 作成する Vertex AI Search データストアの ID。この ID に使用できるのは、小文字、数字、アンダースコア、ハイフンのみです。DATA_STORE_DISPLAY_NAME
: 作成する Vertex AI Search データストアの表示名。
構造化データをインポートします。
データをアップロードするには、次のようないくつかの方法があります。
JSON ドキュメントをアップロードします。
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1beta/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/branches/0/documents?documentId=DOCUMENT_ID" \ -d '{ "jsonData": "JSON_DOCUMENT_STRING" }'
以下を置き換えます。
DOCUMENT_ID
: ドキュメントの一意の ID。 この ID は 63 文字以下で、小文字、数字、アンダースコア、ハイフンのみを使用できます。JSON_DOCUMENT_STRING
: JSON ドキュメント(単一の文字列)。これは、前の手順で指定した JSON スキーマに準拠している必要があります(例:)。{ \"title\": \"test title\", \"categories\": [\"cat_1\", \"cat_2\"], \"uri\": \"test uri\"}
JSON オブジェクトをアップロードします。
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1beta/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/branches/0/documents?documentId=DOCUMENT_ID" \ -d '{ "structData": JSON_DOCUMENT_OBJECT }'
JSON_DOCUMENT_OBJECT
は、JSON オブジェクトとして JSON ドキュメントを置き換えます。これは、前の手順で指定した JSON スキーマに準拠している必要があります。次に例を示します。{ "title": "test title", "categories": [ "cat_1", "cat_2" ], "uri": "test uri" }
JSON ドキュメントで更新します。
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1beta/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/branches/0/documents/DOCUMENT_ID" \ -d '{ "jsonData": "JSON_DOCUMENT_STRING" }'
JSON オブジェクトで更新します。
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1beta/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/branches/0/documents/DOCUMENT_ID" \ -d '{ "structData": JSON_DOCUMENT_OBJECT }'
次のステップ
データストアをアプリに接続するには、検索アプリを作成するの手順に沿ってアプリを作成し、データストアを選択します。
アプリとデータストアが設定された後に検索結果がどのように表示されるかをプレビューするには、検索結果を取得するをご覧ください。
データの取り込みに関するトラブルシューティング
データの取り込みで問題が発生した場合は、次のヒントをご覧ください。
顧客管理の暗号鍵を使用していて、データのインポートが失敗する場合(エラー メッセージ
The caller does not have permission
が表示される場合)は、鍵に対する CryptoKey 暗号化 / 復号 IAM ロール(roles/cloudkms.cryptoKeyEncrypterDecrypter
)が Cloud Storage サービス エージェントに付与されていることを確認します。詳細については、「顧客管理の暗号鍵」の始める前にをご覧ください。ウェブサイトの高度なインデックス登録を使用していて、データストアのドキュメント使用量が想定よりもはるかに少ない場合は、インデックス登録に指定した URL パターンを確認し、指定した URL パターンがインデックス登録するページをカバーしていることを確認し、必要に応じて URL パターンを拡張します。たとえば、
*.en.example.com/*
を使用していた場合は、インデックス登録するサイトに*.example.com/*
を追加する必要があるかもしれません。
Terraform を使用してデータストアを作成する
Terraform を使用して空のデータストアを作成できます。空のデータストアを作成したら、 Google Cloud コンソールまたは API コマンドを使用して、データストアにデータを取り込むことができます。
Terraform 構成を適用または削除する方法については、基本的な Terraform コマンドをご覧ください。
Terraform を使用して空のデータストアを作成するには、
google_discovery_engine_data_store
をご覧ください。
サードパーティのデータソースを接続する
サードパーティのデータソースを Vertex AI Search に接続することは、許可リストに登録されたユーザーのみが利用できる機能です。
この機能のクローズド ホワイトリストに登録されている場合は、Gemini Enterprise のドキュメントで、サードパーティのデータソースを接続する方法の手順をご覧ください。Vertex AI Search または Gemini Enterprise でコネクタを作成する場合でも、手順は同じです。