概要

Vision Warehouse では、検索構成と検索ハイパーニムを使用して検索エクスペリエンスをカスタマイズできます。

検索構成

検索構成では、検索条件と検索ファセットの動作を変更できます。検索構成には、次の 4 つのユースケースがあります。

対象:

  • ストリーミング動画ウェアハウス: 次のユースケースはすべて有効です。
  • バッチ動画 ウェアハウス: 検索条件は有効ですが、検索ファセットは有効ではありません。
  • Image Warehouse: 検索構成は使用できません。

ユースケース 1: 1 対多の条件

ユーザーは、複数の既存のデータスキーマにマッピングされるカスタマイズされた検索条件を作成できます。たとえば、次の検索構成では、カスタマイズされた検索条件「person」が作成されます。ユーザーが「人」の条件で検索すると(「人」の条件で「マイク」を検索する場合など)、Google のサービスは「人」の条件を「選手」、「コーチ」、「チアリーダー」に拡張し、これらのすべてのデータスキーマで検索します。つまり、「Mike」が「選手」、「コーチ」、「チアリーダー」のいずれとしてアノテーションされているかにかかわらず、関連する結果が返されます。

{
  name: "projects/$PROJECT_NUMBER/locations/$LOCATION_ID/corpora/$CORPUS_ID/searchConfigs/person"
  search_criteria_property {
    mapped_fields: "player"
    mapped_fields: "coach"
    mapped_fields: "cheerleader"
  }
}

ユースケース 2: 1 対 1 のファセット

ユーザーは、既存のデータスキーマに検索構成を 1 つ作成することで、そのスキーマの検索ファセットを有効にできます。たとえば、次の検索構成では、位置情報の検索ファセットが有効になります。ユーザーが [場所] で検索する際に、[場所] でバケット値(「東京」、「ロンドン」など)を選択して、検索結果をさらに絞り込むことができるようになりました。

検索構成 ID、facet_property.mapped_field、データスキーマ ID はすべて同じ文字列(この場合は「location」)にする必要があります。

{
  name: "projects/$PROJECT_NUMBER/locations/$LOCATION_ID/corpora/$CORPUS_ID/searchConfigs/location"
  facet_property {
    mapped_fields: "location",
    display_name: "A customized name for UI",
    result_size: 5,
    bucket_type: FACET_BUCKET_TYPE_VALUE
  }
}

ユースケース 3: 1 対多の条件とファセット

ユーザーは、カスタマイズした検索条件を作成し、その検索条件で検索ファセットを同時に有効にできます。たとえば、次の検索構成では、「location」を「city」、「state」、「province」にマッピングするカスタマイズされた検索条件を作成します。検索ファセットは有効になっています。「city」、「state」、「province」のすべてのバケット値が一緒に返されます。

この場合、search_criteria_property と facet_property の mapped_fields は同じである必要があります。既存のデータスキーマの ID にする必要があります。

{
  name: "projects/$PROJECT_NUMBER/locations/$LOCATION_ID/corpora/$CORPUS_ID/searchConfigs/location"
  search_criteria_property {
    mapped_fields: "city"
    mapped_fields: "state"
    mapped_fields: "province"
  }   
  facet_property {
    mapped_fields: "city"    
    mapped_fields: "state"
    mapped_fields: "province"
    display_name: "places"
    result_size: 5,
    bucket_type: FACET_BUCKET_TYPE_VALUE
  }
}

ユースケース 4: 範囲ベースのファセット

ユースケース 2 と 3 では、ファセットのバケットタイプを範囲ベースに変更できます。範囲ベースのファセットは通常のファセットに似ていますが、各ファセット バケットは連続した範囲をカバーします。連続スパンを構成するには、追加の設定が必要です。

範囲のファセットは、次の項目で使用できます。

  • 整数
  • 日付

範囲ファセットには次の 3 種類があります。

  • 固定範囲: 各バケットのサイズは同じです。
  • カスタム範囲: プログラム可能なバケットサイズ(対数など)。
  • 期間: 固定バケットの粒度は DAY、MONTH、YEAR です(期間ファセットにのみ適用)。

次の検索構成では、「inventory-count」検索条件で検索ファセットが有効になり、ファセット バケットは [-inf, 0), [0, 10), [10, 20), [20, 30), [30, inf) になります。

{
  name: "projects/$PROJECT_NUMBER/locations/$LOCATION_ID/corpora/$CORPUS_ID/searchConfigs/inventory-count"
  facet_property {
  mapped_fields: "inventory-count"
  display_name: "Inventory Count"
  result_size: 5
  bucket_type:FACET_BUCKET_TYPE_FIXED_RANGE
  fixed_range_bucket_spec {
    bucket_start {
      integer_value: 0
    }
    bucket_granularity {
      integer_value: 10
    }
    bucket_count: 5
    }
  }
}

次の検索構成では、DAY の粒度で「film-date」検索条件の検索ファセットが有効になります。

{
  name: "projects/$PROJECT_NUMBER/locations/$LOCATION_ID/corpora/$CORPUS_ID/searchConfigs/film-date"
  facet_property {
    mapped_fields: "film-date"
    display_name: "Film Date"
    result_size: 5
    bucket_type: FACET_BUCKET_TYPE_DATETIME
    datetime_bucket_spec {
      granularity: DAY
    }
  }
}

検索ハイパーニム

検索ハイパーニムは、検索クエリがスマート検索文字列アノテーションと一致する方法の変更に使用できます。

対象:

  • Streaming Warehouse: グローバル検索クエリとスマート検索条件の文字列クエリで、検索ハイパーニムが有効になります。
  • VoD ウェアハウス: スマート検索条件の文字列クエリで検索ハイパーニムが有効になります。
  • 画像倉庫: 検索ハイパーニムは使用できません。

検索ハイパーニムは、1 つのハイパーニムを複数のハイポニムにマッピングします。たとえば、次の検索ハイパーニムは、「車両」を「セダン」、「トラック」、「SUV」にマッピングします。グローバル検索クエリまたはスマート検索文字列の条件で「vehicle」を検索すると、「vehicle」だけでなく、「sedan」、「truck」、「suv」とアノテーションが付けられた結果も一致します。

{
  name: "projects/$PROJECT_NUMBER/locations/$LOCATION_ID/corpora/$CORPUS_ID/searchHypernyms/car-hypernym"
  hypernym: "vehicle"
  hyponyms: "sedan"
  hyponyms: "truck"
  hyponyms: "suv"
}