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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ドキュメント

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

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

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

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

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

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

データストアとアプリ

Agent 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 種類があります。

次のステップ

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

構造化データ

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

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

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

次のステップ

カスタム検索の場合:

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

メディアの構造化データ

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

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

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

次のステップ

非構造化データ

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

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

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

次のステップ

検索の場合:

医療 FHIR データ

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

次のステップ

統合検索について

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

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

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

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

  • データストアの追加と削除:
    • アプリでの統合検索を有効にするには、アプリ作成時に少なくとも 2 つのデータストアをアプリに接続する必要があります。
    • 統合検索アプリにデータストアを追加したり、データストアを削除したりできますが、アプリに接続されているデータストアの数を 2 つ未満にすることはできません。
    • 検索アプリの作成時に 1 つのデータストアをアプリに接続した場合、後でデータストアを追加または削除することはできません。
  • ウェブサイトのデータストアを統合検索に使用するには、ウェブサイトの高度なインデックス登録を有効にする必要があります。詳しくは、ウェブサイトの高度なインデックス登録をご覧ください。
  • BigQuery を使ってインポートされた非構造化データを含むデータストアは、サポートされていません。
  • 画像検索( params フィールドで searchType: 1 を使用)はサポートされていません。
  • 統合検索では、 検索リクエストで次のフィールドを使用できます。
    • 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 構成を使用する必要があります。