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)

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

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(No-op)です。

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(No-op)です。

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 があることを想定しています。

条件

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

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

コントロールを作成します。

delete

コントロールを削除します。

get

コントロールを取得します。

list

すべてのコントロールを親 DataStore で一覧表示します。

patch

コントロールを更新します。