REST Resource: projects.locations.collections.dataStores.controls

リソース: Control

サービング中に使用する条件付き動作を定義します。サービング時に考慮されるには、ServingConfig に関連付けられている必要があります。許可されるアクションは SolutionType によって異なります。

JSON 表現
{
  "name": string,
  "displayName": string,
  "associatedServingConfigIds": [
    string
  ],
  "solutionType": enum (SolutionType),
  "useCases": [
    enum (SearchUseCase)
  ],
  "conditions": [
    {
      object (Condition)
    }
  ],

  // Union field action can be only one of the following:
  "boostAction": {
    object (BoostAction)
  },
  "filterAction": {
    object (FilterAction)
  },
  "redirectAction": {
    object (RedirectAction)
  },
  "synonymsAction": {
    object (SynonymsAction)
  },
  "promoteAction": {
    object (PromoteAction)
  }
  // End of list of possible types for union field action.
}
フィールド
name

string

変更不可。完全修飾名 projects/*/locations/global/dataStore/*/controls/*

displayName

string

必須。人が読める形式の名前。UI ビューで使用される識別子。

UTF-8 でエンコードされた文字列である必要があります。長さの上限は 128 文字です。それ以外の場合は、INVALID ARGUMENT エラーがスローされます。

associatedServingConfigIds[]

string

出力専用。このコントロールが関連付けられているすべての ServingConfig ID のリスト。変更後、更新されるまでに 10 分ほどかかることがあります。

solutionType

enum (SolutionType)

必須。変更不可。コントロールが属するソリューション。

リソースのカテゴリと互換性がある必要があります。それ以外の場合は、INVALID ARGUMENT エラーがスローされます。

useCases[]

enum (SearchUseCase)

コントロールのユースケースを指定します。設定できる条件フィールドに影響します。SOLUTION_TYPE_SEARCH にのみ適用します。現時点では、コントロールごとに 1 つのユースケースのみが許可されています。solutionType が SolutionType.SOLUTION_TYPE_SEARCH の場合は設定する必要があります。

conditions[]

object (Condition)

関連付けられたアクションがトリガーされるタイミングを決定します。

省略すると、アクションが常に適用されます。現時点では、指定できる条件は 1 つのみです。それ以外の場合は、INVALID ARGUMENT エラーがスローされます。

共用体フィールド action。アクションはカテゴリとソリューションによって制限されます

必須。action は次のいずれかになります。

boostAction

object (BoostAction)

ブーストタイプのコントロールを定義する

filterAction

object (FilterAction)

フィルタタイプのコントロールを定義します。現在、推奨事項ではサポートされていません

redirectAction

object (RedirectAction)

リダイレクト タイプのコントロールを定義します。

synonymsAction

object (SynonymsAction)

一連のキーワードを互いに同義語として扱います。

promoteAction

object (PromoteAction)

事前定義されたトリガークエリに基づいて特定のリンクをプロモートします。

BoostAction

返されたリスト内の商品の順序を調整します。

JSON 表現
{
  "boost": number,
  "filter": string,
  "dataStore": string,

  // Union field boost_spec can be only one of the following:
  "fixedBoost": number,
  "interpolationBoostSpec": {
    object (InterpolationBoostSpec)
  }
  // End of list of possible types for union field boost_spec.
}
フィールド
boost
(deprecated)

number

ブーストの強さ。[-1, 1] の範囲で指定します。ブーストが負の値である場合は順位を下げることを意味します。デフォルトは 0.0(無演算)です。

filter

string

必須。ブーストを適用する商品を指定します。

フィルタを指定しない場合、すべての商品がブーストされます(No-op)。構文のドキュメント: https://cloud.google.com/retail/docs/filter-and-order 最大文字数は 5,000 文字です。それ以外の場合は、INVALID ARGUMENT エラーがスローされます。

dataStore

string

必須。このコントロールによってブーストできるデータストアのドキュメントを指定します。データストアの完全な名前(例: projects/123/locations/global/collections/default_collection/dataStores/default_data_store)

共用体フィールド boost_spec。定数値ブーストまたはカスタム ランキング ベースのブースト仕様。boost_spec は次のいずれかになります。
fixedBoost

number

省略可。ブーストの強さ。[-1, 1] の範囲で指定します。ブーストが負の値である場合は順位を下げることを意味します。デフォルトは 0.0(無演算)です。

interpolationBoostSpec

object (InterpolationBoostSpec)

省略可。顧客定義の属性値に基づくカスタム ランキングの複雑な仕様。

InterpolationBoostSpec

顧客が指定した属性値に基づくカスタム ランキングの仕様。上記の単純な(条件、ブースト)の組み合わせよりも、カスタマイズされたランキングをより細かく制御できます。

JSON 表現
{
  "fieldName": string,
  "attributeType": enum (AttributeType),
  "interpolationType": enum (InterpolationType),
  "controlPoints": [
    {
      object (ControlPoint)
    }
  ]
}
フィールド
fieldName

string

省略可。ブースト量を決定するために値が使用されるフィールドの名前。

attributeType

enum (AttributeType)

省略可。ブースト額の決定に使用する属性のタイプ。属性値は、指定された fieldName のフィールド値から導出できます。数値の場合、attributeValue = numerical_field_value となります。ただし、鮮度の場合は、attributeValue = (time.now() - datetime_field_value) となります。

interpolationType

enum (InterpolationType)

省略可。以下に表示されているコントロール ポイントを接続するために適用される補完タイプ。

controlPoints[]

object (ControlPoint)

省略可。曲線の定義に使用されるコントロール ポイント。単調関数(上記の interpolationType で定義)は、ここに記載されているコントロール ポイントを通過します。

AttributeType

カスタム ランキングを適用する属性(または関数)。

列挙型
ATTRIBUTE_TYPE_UNSPECIFIED AttributeType が指定されていません。
NUMERICAL 数値フィールドの値は、ブースト額を動的に更新するために使用されます。この場合、コントロール ポイントの attributeValue(x 値)は、boostAmount が指定されている数値フィールドの実際の値になります。
FRESHNESS 鮮度のユースケースでは、属性値は現在時刻と指定された datetime フィールドの日付の間の期間になります。値は、XSD dayTimeDuration 値(ISO 8601 期間値の制限付きサブセット)としてフォーマットする必要があります。このパターンは [nD][T[nH][nM][nS]] です。例: 5D3DT12H30MT24H

InterpolationType

適用する補完タイプ。デフォルトは線形(区分線形)です。

列挙型
INTERPOLATION_TYPE_UNSPECIFIED 補完タイプが指定されていません。この場合、デフォルトは Linear になります。
LINEAR 区分線形補完タイプが適用されます。

ControlPoint

曲線の定義に使用されるコントロール ポイント。これらの制御点を通過する曲線は、単調に増加または減少する(定数値は許容される)必要があります。

JSON 表現
{
  "attributeValue": string,
  "boostAmount": number
}
フィールド
attributeValue

string

省略可。以下のいずれか: 1. 数値フィールドの値。2. 鮮度の期間仕様: 値は XSD dayTimeDuration 値(ISO 8601 期間値の制限付きサブセット)としてフォーマットする必要があります。このパターンは [nD][T[nH][nM][nS]] です。

boostAmount

number

省略可。attributeValue が上記で指定した値と評価された場合にスコアをブーストする値(-1~1)。

FilterAction

結果に含めることができるプロダクトを明記しました。ブーストと同じフィルタを使用します。

JSON 表現
{
  "filter": string,
  "dataStore": string
}
フィールド
filter

string

必須。一致条件の結果に適用するフィルタ。

必要な構文のドキュメント: https://cloud.google.com/retail/docs/filter-and-order 最大文字数は 5,000 文字です。それ以外の場合は、INVALID ARGUMENT エラーがスローされます。

dataStore

string

必須。このコントロールによってフィルタできるデータストアのドキュメントを指定します。データストアの完全な名前(例: projects/123/locations/global/collections/default_collection/dataStores/default_data_store)

RedirectAction

買い物客を指定された URI にリダイレクトします。

JSON 表現
{
  "redirectUri": string
}
フィールド
redirectUri

string

必須。買い物客がリダイレクトされる URI。

必須。URI の長さは 2,000 文字以下にする必要があります。それ以外の場合は、INVALID ARGUMENT エラーがスローされます。

SynonymsAction

互いに同義語として機能する一連のキーワードを作成します。

たとえば、「happy」は「glad」と見なされ、「glad」は「happy」と見なされます。

JSON 表現
{
  "synonyms": [
    string
  ]
}
フィールド
synonyms[]

string

同義語のセットを定義します。最大 100 個の同義語を指定できます。同義語を 2 つ以上指定する必要があります。それ以外の場合は、INVALID ARGUMENT エラーがスローされます。

PromoteAction

トリガークエリに基づいて特定のリンクをプロモートします。

例: shoe キーワードで検索したときに靴店のリンクをプロモートします。リンクは、関連付けられたデータストアの外部に配置できます。

JSON 表現
{
  "dataStore": string,
  "searchLinkPromotion": {
    object (SearchLinkPromotion)
  }
}
フィールド
dataStore

string

必須。このプロモーションが関連付けられているデータストア。

SearchLinkPromotion

プロモーションの proto には、プロモーションを表示するための URI などの補助情報が含まれています。

JSON 表現
{
  "title": string,
  "uri": string,
  "document": string,
  "imageUri": string,
  "description": string,
  "enabled": boolean
}
フィールド
title

string

必須。プロモーションのタイトル。最長 160 文字。

uri

string

省略可。ユーザーがプロモートするページの URL。サイト内検索用に設定する必要があります。他のカテゴリでは、これは省略可能です。

document

string

省略可。ユーザーがプロモートを希望する Document。サイト検索の場合は、設定せずに uri のみを入力します。URI とともに設定できます。

imageUri

string

省略可。プロモーションのサムネイル画像の URL。

description

string

省略可。プロモーションの説明。最長 200 文字。

enabled

boolean

省略可。有効なプロモーションは、このプロモーションが関連付けられているコントロールの親に関連付けられているサービス構成に対して返されます。

このフラグは基本的なサイト内検索でのみ使用されます。

SearchUseCase

SolutionType のさらなる細分化を定義します。特に SOLUTION_TYPE_SEARCH に適用されます。

列挙型
SEARCH_USE_CASE_UNSPECIFIED 設定されていない場合に使用される値。CSS では発生しません。
SEARCH_USE_CASE_BROWSE ユースケースを参照します。トラフィックに空の query があることを想定しています。

Condition

動作を許可する前に確認する状況を定義します

JSON 表現
{
  "queryTerms": [
    {
      object (QueryTerm)
    }
  ],
  "activeTimeRange": [
    {
      object (TimeRange)
    }
  ],
  "queryRegex": string
}
フィールド
queryTerms[]

object (QueryTerm)

検索のみ: クエリを照合する用語のリスト。Condition.query_regex が設定されている場合は設定できません。

クエリ用語は最大 10 個までです。

activeTimeRange[]

object (TimeRange)

条件が有効になるタイミングを指定する時間範囲。

最大 10 個の期間。

queryRegex

string

省略可。検索クエリ全体に一致するクエリの正規表現。Condition.query_terms が設定されている場合は設定できません。ベーシック サイト検索のプロモーション配信コントロールでのみサポートされています。

QueryTerm

検索リクエスト クエリのマッチャー

JSON 表現
{
  "value": string,
  "fullMatch": boolean
}
フィールド
value

string

照合する特定のクエリ値

小文字で、UTF-8 である必要があります。fullMatch が true の場合、スペースで区切られた用語を最大 3 つまで含めることができます。空の文字列にすることはできません。最大文字数: 5,000 文字。

fullMatch

boolean

検索クエリがクエリ キーワードと完全に一致する必要があるかどうか。

TimeRange

時間依存の条件に使用されます。

JSON 表現
{
  "startTime": string,
  "endTime": string
}
フィールド
startTime

string (Timestamp format)

期間の開始。

範囲は包括的です。

RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

endTime

string (Timestamp format)

期間の終了。

範囲は包括的です。将来の時点であることが必要です。

RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

メソッド

create

Control を作成します。

delete

Control を削除します。

get

Control を取得します。

list

すべての Control を親 DataStore ごとに一覧表示します。

patch

Control を更新します。