アプリとデータストアについて

このページでは、Vertex AI Search アプリとデータストアについて説明します。

Vertex AI Search では、検索アプリまたはレコメンデーション アプリを作成し、データストアに接続します。1 つの Google Cloud プロジェクトに複数のアプリを含めることができます。

アプリとデータストアの関係

アプリとデータストアの関係は、アプリのタイプによって異なります。

  • カスタム検索アプリは、データストアと多対多の関係にあります。複数のデータストアが 1 つのカスタム検索アプリに接続されている場合、これを統合検索と呼びます。1 つの検索アプリを複数のデータストアに接続する際の制限事項については、統合検索についてをご覧ください。

  • カスタム レコメンデーション アプリは、データストアと 1 対 1 の接続を確立します。

  • メディアアプリは、データストアと多対 1 の関係にあります。アプリは 1 つのデータストアにしか接続できませんが、1 つのデータストアを複数のアプリに接続することが可能です。たとえば、メディア検索アプリとメディア レコメンデーション アプリで 1 つのデータストアを共有できます。

  • ヘルスケア検索アプリは、データストアと多対 1 の関係にあります。アプリは 1 つのデータストアにしか接続できませんが、1 つのデータストアを複数のアプリに接続することが可能です。たとえば、患者向けアプリと医療機関向けアプリから同じデータストアに接続できます。

    医療データのバッチデータ インポートの場合、データはアプリ内のデータストアにインポートされます。医療データのストリーミング データ インポート(プレビュー)の場合、データはデータコネクタ内のデータストアの一種であるエンティティにインポートされます。データコネクタは、アプリ内のデータストアの一種でもあります。

データストアをアプリに接続した後に切断することはできません。

アプリ作成とデータ取り込みの方法

アプリを作成してデータを取り込む方法は、データの種類によって次のように異なります。

  • ウェブサイトのデータについては、 Google Cloud コンソールと API のどちらも使用できます。API で作成したウェブサイトのデータを使用するには、 Google Cloud コンソールで Enterprise 機能が有効になっているアプリに接続する必要があります。

  • 構造化データまたは非構造化データの場合は、Google Cloud コンソールまたは API を使用できます。

  • 医療データについては、 Google Cloud コンソールと API のどちらも使用できます。

ドキュメント

各データストアには、「ドキュメント」と呼ばれるデータレコードが 1 つ以上あります。ドキュメントが何を表すかは、データストア内のデータの種類によって次のように異なります。

  • Websiteドキュメントはウェブページです。

  • 構造化データドキュメントは、特定のスキーマに従うテーブルの 1 行または 1 つの JSON レコードです。このスキーマは、独自に指定することも、取り込んだデータから Vertex AI Search が取得することもできます。

  • メディアの構造化データ。ドキュメントは、メディアに固有のスキーマに従うテーブルの 1 行または 1 つの JSON レコードです。ドキュメントは、動画、ニュース記事、音楽ファイル、ポッドキャストなどのメディア コンテンツに関するレコードです。ドキュメントには、メディア アイテムを説明する情報(少なくとも、タイトル、コンテンツの場所の URI、カテゴリ、再生時間、利用可能な日付)が含まれます。

  • 非構造化データ。ドキュメントは、TXT、PDF、HTML、DOCX、PPTX、XLSX、XLSM のいずれかの形式のファイルです。

  • 医療 FHIR データ。ドキュメントは、サポートされている FHIR R4 リソースです。Vertex AI Search でサポートされている FHIR R4 リソースのリストについては、Healthcare FHIR R4 データスキーマ リファレンスをご覧ください。

データストアとアプリ

Vertex AI Search には、さまざまな種類のデータストアがあります。各データストアには 1 種類のデータのみを含めることができます。

ウェブサイトのデータ

ウェブサイトのデータを含むデータストアは、一般公開ウェブサイトからインデックス登録されたデータを使用します。データストアに含める URL パターンのセットを指定できます。URL パターンに一致するウェブページは、含まれるウェブページと呼ばれます。その後、含まれているウェブページからクロールされたデータに対する検索を設定できます。

たとえば、example.com/faq/*example.com/events/* などの URL パターンを指定して、パターンに一致するウェブページからクロールされたデータを検索できるようにします。このデータには、テキスト、メタデータでタグ付けされた画像、meta タグ、PageMap 属性、schema.org データなどの構造化データが含まれます。

除外するウェブサイトの部分の URL パターン(example.com/events/members-only/*example.com/events/past-* など)を指定することもできます。除外した URL は、含めた URL よりも優先されます。

ウェブサイトのデータストアには次の 2 種類があります。

  • 基本的なウェブサイト検索:

    • 含まれているウェブサイトの既存の Google 検索インデックスに対する検索機能を提供します。
    • ドメインの所有権の証明は必要ありません。
  • ウェブサイトの高度なインデックス登録

    • 次のいずれかに基づいて生成されたインデックスに対する高度な検索機能を提供します。
      • Vertex AI Search アプリのオーナーは、サイトマップを送信して維持することで、インデックス登録されるウェブページを制御できます。詳しくは、サイトマップを使用してウェブページをインデックス登録、更新するをご覧ください。このプロセスにより、手動で操作しなくてもインデックスが最新の状態に保たれます。
      • Vertex AI Search アプリのオーナーは、Google 検索インデックスを反映する初期インデックス登録を実行し、必要に応じてウェブサイトを再クロールしてインデックスの範囲を拡大し、最新の状態に保つことができます。詳しくは、ウェブページを更新するをご覧ください。ウェブサイトの高度なインデックス登録の高度な機能については、ウェブサイトの高度なインデックス登録をご覧ください。
    • Vertex AI Search データストアの所有者は、含まれているウェブサイトが属するドメインを確認する必要があります。詳しくは、ウェブサイトのドメインを確認するをご覧ください。
    • データストア スキーマに構造化データを追加する機能を提供します。ウェブサイトには非構造化データが含まれていますが、meta タグ、PageMap 属性、schema.org データの形式で構造化データをウェブページに追加できます。この構造化データを使用して、ウェブサイトの高度なインデックス登録に構造化データを使用するで説明されているように、データストア スキーマを編集できます。

次のステップ

ウェブサイト検索の場合:

構造化データ

構造化データを含むデータストアでは、構造化データに対するセマンティック検索やレコメンデーションを利用できます。BigQuery または Cloud Storage からデータをインポートできます。また API を使用して構造化 JSON データを手動でアップロードすることもできます。

たとえば、e コマース エクスペリエンスの場合は、商品カタログに基づいた検索やレコメンデーションを有効にできます。また、サービス提供者の場合は、医師名簿に基づいた検索やレコメンデーションを有効にできます。

Vertex AI Search は、インポートしたデータから自動的にスキーマを検出します。あるいは、必要に応じてデータのスキーマを自分で指定することもできます。データのスキーマを指定すると、通常は結果の品質が向上します。

次のステップ

カスタム検索の場合:

カスタム レコメンデーションの場合:

メディアの構造化データ

メディアアプリはメディア データストアにのみ接続できます。メディア データストアは、Google が定義したスキーマまたは独自のカスタム スキーマを含む構造化データストアです。このスキーマには、メディア関連の 5 つのフィールドの特定のセットが含まれています。スキーマの詳細については、メディア ドキュメントとデータストアについてをご覧ください。

たとえば、映画カタログやニュース サイト用のメディア レコメンデーション アプリを作成してレコメンデーションを有効にすると、ユーザーに適切なパーソナライズされた提案が行われるようになります。

メディア ドキュメントに加えて、メディア データストアには、Vertex AI Search がユーザー向けにレコメンデーションと検索をカスタマイズするために使用するユーザー イベント情報も含まれています。メディアアプリではユーザー イベントが必要です。ユーザー イベントについては、リアルタイムのユーザー イベントを記録するをご覧ください。

次のステップ

非構造化データ

非構造化データストアを使用すると、ドキュメントや画像などのデータに対してセマンティック検索を実行できます。

非構造化データストアでは、TXT、PDF、HTML、DOCX、PPTX、XLSX、XLSM 形式のドキュメントがサポートされます。

検索の結果として、10 個の URL と、自然言語クエリへの回答の要約が提供されます。ドキュメントは、適切なアクセス権限を持つ Cloud Storage バケットにアップロードされる必要があります。たとえば金融機関は、金融調査出版物を収めた自社の非公開コーパスに対する検索を有効にできます。また、バイオテクノロジー企業は、医療研究を収めた自社の非公開リポジトリに対する検索やレコメンデーションを実行できます。

次のステップ

検索の場合:

医療 FHIR データ

医療検索アプリは、Cloud Healthcare API FHIR ストアからインポートされた FHIR R4 データを使用します。Vertex AI Search でサポートされている FHIR R4 リソースのリストについては、Healthcare FHIR R4 データスキーマ リファレンスをご覧ください。FHIR R4 データストアを Vertex AI Search データストアのデータソースとして使用するには、いくつかの要件を満たす必要があります。詳細については、取り込み用に Healthcare FHIR データを準備する方法をご覧ください。

次のステップ

統合検索について

統合検索アプリを作成できます。このアプリでは、複数のデータストアを 1 つのカスタム検索アプリに接続できます。この機能を使用すると、1 つのアプリで複数のソースと複数の種類のデータにまたがって検索できます。

統合検索アプリを作成するには、新しいカスタム検索アプリを作成するときに複数のデータストアを選択します。作成時に複数のデータストアを選択しない場合、後でデータストアを追加することはできません。

検索結果を取得する際には、すべてのデータストアを検索することも、単一のデータストアの結果に絞り込むこともできます。

次の制限が適用されます。

  • データストアの追加と削除:
    • アプリでの統合検索を有効にするには、アプリ作成時に少なくとも 2 つのデータストアをアプリに接続する必要があります。
    • 統合検索アプリにデータストアを追加したり、データストアを削除したりできますが、アプリに接続されているデータストアの数を 2 つ未満にすることはできません。
    • 検索アプリの作成時に 1 つのデータストアをアプリに接続した場合、後でデータストアを追加または削除することはできません。
  • ウェブサイトのデータストアを統合検索に使用するには、ウェブサイトの高度なインデックス登録を有効にする必要があります。詳しくは、ウェブサイトの高度なインデックス登録をご覧ください。
  • BigQuery を使ってインポートされた非構造化データを含むデータストアは、サポートされていません。
  • 統合検索では、検索リクエストで次のフィールドを使用できます。
    • boostSpec
    • contentSearchSpec
    • dataStoreSpecs
    • facetSpecs
    • filter
    • languageCode
    • offset
    • oneBoxPageSize
    • orderBy
    • query
    • pageSize
    • pageToken
    • relevanceScoreSpec
    • relevanceThreshold
    • session
    • sessionSpec
    • spellCorrectionSpec
    • userInfo
    • userPseudoId
  • 統合検索では、DataStoreSpec で次のフィールドを使用できます。
    • dataStore
    • boostSpec: SearchRequestdataStoreSpecs の両方にブースト仕様が指定されている場合、両方のブースト仕様が検索結果に適用されます。
    • filter: SearchRequestdataStoreSpecs の両方にフィルタが指定されている場合、両方のフィルタが検索結果に適用されます。
  • 統合アプリでは、サービス提供構成に対する作成、読み取り、更新、削除(CRUD)オペレーションがサポートされています。サービス提供構成では、次のフィールドだけを追加または更新できます。
    • boostControlIds
    • displayName
    • filterControlIds
    • genericConfig:
      • contentSearchSpec
    • name
    • solutionType
    • synonymsControlIds
  • 統合検索アプリでは、次のコントロールに対する CRUD オペレーションがサポートされています。
    • boostAction
    • synonymAction
    • filterAction
  • 検索アプリあたりのデータストア数の上限は 50 個です。
  • 1 つのデータストアで CMEK 構成を使用している場合、他のすべてのデータストアでも同じ CMEK 構成を使用する必要があります。