このページでは、サービス提供コントロールの作成方法について説明します。
サービス提供コントロールは、個々のサービス構成を定義して適用するルールです。
サービス制御は、コントロールをトリガーする条件と、条件によってトリガーされるときに発生するアクションで構成されるコマース向け検索コンソールで作成できます。その後、新しいサービス提供コントロールをサービス構成に関連付けることができます。
サービング コントロールと構成の関係
サービス構成は、コントロールと多対多の関係を持ちます。1 つのサービス構成に複数のコントロールを追加でき、1 つのコントロールを複数のサービス構成に関連付けることができます。
サービス提供コントロールとサービス構成を作成するときに、コントロールを使用できるプロダクト(レコメンデーションまたは検索)を選択します。
サービス提供コントロールを関連付けできるのは、同じプロダクトタイプのサービス構成のみです。たとえば、レコメンデーション用に作成されたサービス提供コントロールを、Retail Search 用に作成されたサービス構成に関連付けることはできません。

サービス構成は、検索リクエストまたは予測リクエスト時に適用されるコントロールを管理します。リクエストの有効なサービス構成のコントロールだけが、サービス提供時に考慮されます。たとえば、シューズが検索されたときにブランド gShoe の結果をブーストする gShoe Sale という制御と、「ランニング シューズ」というキーワードを含むクエリを拡張して「スポーツ シューズ」を含むようにする More shoes という制御の 2 つの制御を作成したとします。gShoe Sale コントロールのみをサービス提供構成に関連付けると、そのサービス提供構成を使用する検索リクエストでは、「靴」という用語を使用するクエリの gShoe の結果がブーストされますが、More shoes コントロールは使用しているサービス提供構成に関連付けられていないため、効果はありません。
詳細については、サービス構成についてをご覧ください。
クイック スタートガイド(動画)
- サービス提供コントロールの概要: サービス提供コントロールを使用すると、サービス提供構成が検索結果を返す方法をカスタマイズするルールを作成できます。
- ブースト / 埋め込み: 返される結果リスト内の検索結果のランキングと順序に影響します。
Retail Search とレコメンデーションで使用できます。
- フィルタ: 返された結果リストからフィルタを通過しない結果を削除します。Retail Search でのみ利用できます。
- リダイレクト: 検索クエリに応じてユーザーを特定のページにリダイレクトします。Retail Search でのみ利用できます。
このチュートリアルでは、リダイレクト制御の使用方法について説明します。
このタスクを Cloud Shell エディタで直接行う際の順を追ったガイダンスについては、[ガイドを表示] をクリックしてください。
- 言語: 検索クエリの言語をカスタマイズします。Retail Search でのみ使用できます。数種類の言語制御を使用できます。
- 類義語: 検索クエリの類義語と考えられるものを拡張します。
- 一方向の類義語: 特定のキーワードの類義語と考えられるものを一方向に拡張します。
- 関連付けない: 特定のキーワードが表示されたときに、あるキーワード グループが検索で使用されないようにします。
- 無視: 検索に特定のキーワードが使用されないようにします。
- 置換: 検索クエリのキーワードを置き換えます。
- 固定: 検索結果の順序に影響し、検索結果を特定の位置(4 番目など)に配置します。検索と閲覧で使用できます。
これらのコントロールの例については、サービス提供コントロールをご覧ください。
サービス提供コントロールの構成オプション
コントロールを作成し、ライブサービス提供構成に追加または入れ替えることができます。
最大 100 個のサービス提供コントロールを作成できます。さらにサービス提供コントロールが必要な場合は、追加の割り当てをリクエストしてください。割り当ての増加をリクエストする方法については、割り当てを増やすをご覧ください。サービス提供構成には、リダイレクト コントロール以外の最大 100 個のサービス提供コントロールを含めることができます。サービス提供構成ごとの上限は 1,000 個です。
サービス提供コントロールは次の方法で作成できます。
Google Cloud コンソールの [コントロール] ページ: ここでは、サービス構成の作成プロセス中に、オプションでコントロールを作成できます。
マーチャンダイジング コンソールを使用できます。
Controls.createメソッドを使用して、サービス提供コントロールをインラインで作成できます。
Google Cloud コンソールを使用してサービング コントロールを作成するには:
Search for commerce コンソールの [コントロール] ページに移動します。
[コントロール] ページに移動各サービング制御セクションの Google Cloud コンソールの手順に沿って操作します。
コントロール タイプ
コントロールの要件は、タイプによって異なります。作成する予定の制御タイプの作成手順に移動します。
- ブースト / 埋め込みコントロールを作成する
- フィルタ オプションを作成する
- リダイレクト コントロールを作成する
- ピン留めコントロールを作成する
- 双方向の類義語コントロールを作成する
- 一方向の類義語コントロールを作成する
- 「関連付けなし」のコントロールを作成する
- 取り消しコントロールを作成する
- 代替コントロールを作成する
ブースト / 埋め込みコントロールを作成する
このコントロール タイプは、Retail Search とレコメンデーションで利用できます。
このコントロール タイプの詳細については、ブースト / 埋め込みコントロールをご覧ください。
検索のブースト/埋め込みコントロールを作成する
Retail Search のブースト / 埋め込みコントロールを作成するには:
Cloud コンソール
Search for commerce コンソールの [コントロール] ページに移動します。
[コントロール] ページに移動[サービス提供コントロール] タブで、add_box [コントロールを作成] をクリックします。
[コントロールを作成する] ペインが開きます。
[設定] セクションの [コントロール名] フィールドに、新しいコントロールの名前を入力します。
省略可: 自動的に作成されたコントロール ID を変更するには、[編集] をクリックして新しいコントロール ID を入力します。
[プロダクトの選択] セクションで、[検索] を選択します。
コントロール タイプとして [ブースト/埋め込みコントロール] を選択します。[続行] をクリックします。
[トリガー] セクションで、このコントロールをトリガーするユーザーの行動のタイプを選択します。
カテゴリを閲覧する: ユーザーがサイトのカテゴリを閲覧したときにルールがトリガーされます(
search.request.queryは空です)。検索: ユーザーがサイトで検索したときにルールがトリガーされます(
search.request.queryは空ではありません)。カテゴリが閲覧されたとき、またはクエリが検索されたときに、このコントロールを設定してトリガーするには、次の手順をスキップします。
省略可: 特定のカテゴリが閲覧されたか、特定のクエリが検索されたかどうかに応じて、このコントロールをトリガーできる特定のカテゴリまたはクエリを設定します。
[カテゴリを閲覧] を選択した場合: [カテゴリ] フィールドに、閲覧時にこのコントロールをトリガーするカテゴリを入力します。
[検索] を選択した場合: [クエリを追加] ボタンをクリックして、フィルタするクエリ用語(
running shoesなど)を追加します。各キーワードについて、[部分一致] または [完全一致] を選択します。
省略可: [時間範囲を追加] ボタンをクリックして、このコントロールを適用する時間範囲を 1 つ以上追加します。
[続行] をクリックして [アクション] セクションに進みます。
[ブースト / 埋め込み商品] フィールドに商品属性のフィルタを追加します。
フィルタリングと並べ替えで記載されているフィルタ式の構文を使用します。たとえば、「product1」と「product2」の赤と青のバージョンを指定するには:
(id: ANY("product1","product2")) AND (colorFamily: ANY("Red","Blue"))[ブースト / 埋め込み値] には、スライダーを使用してブーストの強さを設定します。正の値は結果をブーストし、負の値は結果を埋め込みます。[続行] をクリックします。
[サービス提供構成] セクションで、コントロールを適用するサービス提供構成を選択します。
コントロール設定を送信します。
新規作成または更新されたコントロールがライブ トラフィックを提供できるようになるまでに、数分かかります。変更が適用されたかどうかは、コンソールの [評価] ページでテストできます。
新しいコントロールは、[Controls] ページの [Serving controls] タブに表示されます。
curl
リクエスト本文に含まれる Control のコントロール ID とインスタンスを使用して、Control.create リクエストを行います。
フィールドの詳細については、Controls API リファレンスと Controls.create API リファレンスをご覧ください。
ユーザーがサイトのカテゴリを閲覧した場合(search.request.query が空)、またはユーザーがサイトを検索した場合(search.request.query が空でない)、ブースト / 埋め込みコントロールをトリガーできます。
次の例は、閲覧でトリガーされるコントロールのフィールドを示しています。ここで、searchSolutionUseCase は SEARCH_SOLUTION_USE_CASE_BROWSE に設定されています。
curl -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ --data '{ "displayName": "DISPLAY_NAME", "solutionTypes": [ "SOLUTION_TYPE_SEARCH" ], "searchSolutionUseCase": [ "SEARCH_SOLUTION_USE_CASE_BROWSE" ], "rule": { "condition": { "pageCategories": [ "CATEGORY_ABC", "CATEGORY_XYZ" ], "activeTimeRange": [ { "startTime": "START_TIMESTAMP_1", "endTime": "END_TIMESTAMP_1" }, { "startTime": "START_TIMESTAMP_2", "endTime": "END_TIMESTAMP_2" } ] }, "boostAction": { "boost": BOOST_NUMBER, "productsFilter": "FILTER_EXPRESSION" } } }' \ "https://retail.googleapis.com/v2beta/projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/controls?controlId=CONTROL_ID"
次の例は、検索でトリガーされるコントロールのフィールドを示しています(searchSolutionUseCase は SEARCH_SOLUTION_USE_CASE_SEARCH に設定されています)。
curl -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ --data '{ "displayName": "DISPLAY_NAME", "solutionTypes": [ "SOLUTION_TYPE_SEARCH" ], "searchSolutionUseCase": [ "SEARCH_SOLUTION_USE_CASE_SEARCH" ], "rule": { "condition": { "queryTerms": [ { "value": "VALUE_1", "fullMatch": "FULLMATCH_BOOLEAN_1" }, { "value": "VALUE_2", "fullMatch": "FULLMATCH_BOOLEAN_2" } ], "activeTimeRange": [ { "startTime": "START_TIMESTAMP_1", "endTime": "END_TIMESTAMP_1" }, { "startTime": "START_TIMESTAMP_2", "endTime": "END_TIMESTAMP_2" } ] }, "boostAction": { "boost": BOOST_NUMBER, "productsFilter": "FILTER_EXPRESSION" } } }' \ "https://retail.googleapis.com/v2beta/projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/controls?controlId=CONTROL_ID"
新規作成または更新されたコントロールがライブ トラフィックを提供できるようになるまでに、数分かかります。変更が適用されたかどうかは、コンソールの [評価] ページでテストできます。
サービス構成にコントロールを追加するには、ServingConfig.addControl メソッドを使用します。
このメソッドの詳細については、
ServingConfig.addControlAPI リファレンスをご覧ください。このメソッドの例については、サービス構成を管理をご覧ください。
レコメンデーションのブースト/埋め込みコントロールを作成する
レコメンデーションのブースト/埋め込みコントロールを作成するには:
Cloud コンソール
Search for commerce コンソールの [コントロール] ページに移動します。
[コントロール] ページに移動[Serving controls] タブで、add_box [Create control] をクリックします。
[コントロールを作成する] ペインが開きます。
[設定] セクションの [コントロール名] フィールドに、新しいコントロールの名前を入力します。
省略可: 自動的に作成されたコントロール ID を変更するには、[編集] をクリックして新しいコントロール ID を入力します。
[プロダクトの選択] セクションで、[レコメンデーション] を選択します。
コントロール タイプとして [ブースト / 埋め込みコントロール] を選択します。
[続行] をクリックして [アクション] セクションに進みます。
[ブースト / 埋め込み商品] フィールドに商品属性のフィルタを追加します。
レコメンデーションのフィルタのドキュメントに記載されているフィルタ式の構文を使用します。
たとえば、「product1」と「product2」の赤と青のバージョンを指定するには:
(id: ANY("product1","product2")) AND (colorFamily: ANY("Red","Blue"))[ブースト / 埋め込み値] には、スライダーを使用してブーストの強さを設定します。正の値は結果をブーストし、負の値は結果を埋め込みます。
[続行] をクリックして [サービス提供構成] セクションに進みます。
コントロールを適用するサービス構成を選択します。
コントロール設定を送信します。
新規作成または更新されたコントロールがライブ トラフィックを提供できるようになるまでに、数分かかります。変更が適用されたかどうかは、コンソールの [評価] ページでテストできます。
新しいコントロールは、[Controls] ページの [Serving controls] タブに表示されます。
curl
リクエスト本文に含まれる Control のコントロール ID とインスタンスを使用して、Control.create リクエストを行います。
フィールドの詳細については、Controls API リファレンスと Controls.create API リファレンスをご覧ください。
フィルタ式を作成するには、レコメンデーションのフィルタに記載されているフィルタ式の構文を使用します。
curl -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ --data '{ "displayName": "DISPLAY_NAME", "solutionTypes": [ "SOLUTION_TYPE_RECOMMENDATION" ], "boostAction": { "boost": BOOST_NUMBER, "productsFilter": "FILTER_EXPRESSION" } } }' \ "https://retail.googleapis.com/v2beta/projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/controls?controlId=CONTROL_ID"
新規作成または更新されたコントロールがライブ トラフィックを提供できるようになるまでに、数分かかります。変更が適用されたかどうかは、コンソールの [評価] ページでテストできます。
サービス構成にコントロールを追加するには、ServingConfig.addControl メソッドを使用します。
このメソッドの詳細については、
ServingConfig.addControlAPI リファレンスをご覧ください。このメソッドの例については、サービス構成を管理をご覧ください。
フィルタ オプションを作成する
このコントロール タイプの詳細については、フィルタ オプションをご覧ください。
Cloud コンソール
Search for commerce コンソールの [コントロール] ページに移動します。
[コントロール] ページに移動[Serving controls] タブで、add_box [Create control] をクリックします。
[コントロールを作成する] ペインが開きます。
[設定] セクションの [コントロール名] フィールドに、新しいコントロールの名前を入力します。
省略可: 自動的に作成されたコントロール ID を変更するには、[編集] をクリックして新しいコントロール ID を入力します。
コントロール タイプとして [フィルタ オプション] を選択します。
[続行]をクリックして [トリガー] セクションに進みます。
このコントロールをトリガーするユーザーの行動のタイプを選択します。
カテゴリを閲覧する: ユーザーがサイトのカテゴリを閲覧したときにルールがトリガーされます(
search.request.queryは空です)。検索: ユーザーがサイトで検索したときにルールがトリガーされます(
search.request.queryは空ではありません)。
省略可: 閲覧されるカテゴリまたは検索されるクエリに基づいてルールをトリガーするコントロール条件を設定します。使用可能なオプションは、[カテゴリを閲覧] か [検索] のどちらを選択するかによって異なります。
[カテゴリを閲覧] を選択した場合: [カテゴリ] フィールドに、閲覧時にこのコントロールをトリガーするカテゴリを入力します。
[検索] を選択した場合: [クエリを追加] ボタンをクリックし、フィルタするクエリ用語(
running shoesなど)を追加して、次の各用語のいずれかを選択します。- 部分一致: このコントロールは、クエリ語句に部分一致が含まれている場合に適用されます。
- 完全一致: このコントロールは、クエリ語句に完全に一致する語句がクエリに含まれている場合にのみ適用されます。
これらの語句の 1 つがクエリに含まれている場合にコントロールが適用されます。
省略可: [時間範囲を追加] ボタンをクリックして、このコントロールを適用する時間範囲を 1 つ以上追加します。
[続行] をクリックして [アクション] セクションに進みます。
[フィルタ アクション] フィールドに、商品属性のフィルタを追加します。
フィルタリングと並べ替えで記載されているフィルタ式の構文を使用してください。
たとえば、「product1」と「product2」の赤と青のバージョンを指定するには:
(id: ANY("product1","product2")) AND (colorFamily: ANY("Red","Blue"))[続行] をクリックして [サービス提供構成] セクションに進みます。
コントロールを適用するサービス構成を選択します。
コントロール設定を送信します。
新規作成または更新されたコントロールがライブ トラフィックを提供できるようになるまでに、数分かかります。変更が適用されたかどうかは、コンソールの [評価] ページでテストできます。
新しいコントロールは、[Controls] ページの [Serving controls] タブに表示されます。
curl
リクエスト本文に含まれる Control のコントロール ID とインスタンスを使用して、Control.create リクエストを行います。
フィールドの詳細については、Controls API リファレンスと Controls.create API リファレンスをご覧ください。
ユーザーがサイトのカテゴリを閲覧した場合(search.request.queryが空)、またはユーザーがサイトを検索した場合(search.request.queryが空でない)、フィルタ オプションをトリガーできます。
次の例は、閲覧でトリガーされるコントロールのフィールドを示しています。ここで、searchSolutionUseCase は SEARCH_SOLUTION_USE_CASE_BROWSE に設定されています。
curl -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ --data '{ "displayName": "DISPLAY_NAME", "solutionTypes": [ "SOLUTION_TYPE_SEARCH" ], "searchSolutionUseCase": [ "SEARCH_SOLUTION_USE_CASE_BROWSE" ], "rule": { "condition": { "pageCategories": [ "CATEGORY_ABC", "CATEGORY_XYZ" ], "activeTimeRange": [ { "startTime": "START_TIMESTAMP_1", "endTime": "END_TIMESTAMP_1" }, { "startTime": "START_TIMESTAMP_2", "endTime": "END_TIMESTAMP_2" } ] }, "filterAction": { "filter": "FILTER_EXPRESSION" } } }' \ "https://retail.googleapis.com/v2beta/projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/controls?controlId=CONTROL_ID"
次の例は、検索でトリガーされるコントロールのフィールドを示しています(searchSolutionUseCase は SEARCH_SOLUTION_USE_CASE_SEARCH に設定されています)。
curl -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ --data '{ "displayName": "DISPLAY_NAME", "solutionTypes": [ "SOLUTION_TYPE_SEARCH" ], "searchSolutionUseCase": [ "SEARCH_SOLUTION_USE_CASE_SEARCH" ], "rule": { "condition": { "pageCategories": [ "CATEGORY_ABC", "CATEGORY_XYZ" ], "activeTimeRange": [ { "startTime": "START_TIMESTAMP_1", "endTime": "END_TIMESTAMP_1" }, { "startTime": "START_TIMESTAMP_2", "endTime": "END_TIMESTAMP_2" } ] }, "filterAction": { "filter": "FILTER_EXPRESSION" } } }' \ "https://retail.googleapis.com/v2beta/projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/controls?controlId=CONTROL_ID"
サービス構成にコントロールを追加するには、ServingConfig.addControl メソッドを使用します。
このメソッドの詳細については、
ServingConfig.addControlAPI リファレンスをご覧ください。このメソッドの例については、サービス構成を管理をご覧ください。
リダイレクト コントロールを作成する
このコントロール タイプの詳細については、リダイレクト コントロールをご覧ください。
Cloud コンソール
Search for commerce コンソールの [コントロール] ページに移動します。
[コントロール] ページに移動[Serving controls] タブで、add_box [Create control] をクリックします。
[コントロールを作成する] ペインが開きます。
[設定] セクションの [コントロール名] フィールドに、新しいコントロールの名前を入力します。
省略可: 自動的に作成されたコントロール ID を変更するには、[編集] をクリックして新しいコントロール ID を入力します。
コントロール タイプとして [リダイレクト コントロール] を選択します。
[続行]をクリックして [トリガー] セクションに進みます。
クエリ語句または期間トリガーを 1 つ以上作成します。リダイレクト コントロールには、少なくとも 1 つのトリガーが必要です。
このコントロールをトリガーするユーザーの行動のタイプを選択します。
カテゴリを閲覧する: ユーザーがサイトのカテゴリを閲覧したときにルールがトリガーされます(
search.request.queryは空です)。検索: ユーザーがサイトで検索したときにルールがトリガーされます(
search.request.queryは空ではありません)。
閲覧されるカテゴリまたは検索されるクエリに基づいてルールをトリガーするコントロール条件を設定します。使用可能なオプションは、[カテゴリを閲覧] か [検索] のどちらを選択するかによって異なります。
[カテゴリを閲覧] を選択した場合: [カテゴリ] フィールドに、閲覧時にこのコントロールをトリガーするカテゴリを入力します。
[検索] を選択した場合: [クエリを追加] ボタンをクリックし、フィルタするクエリ用語(
running shoesなど)を追加して、次の各用語のいずれかを選択します。- 部分一致: このコントロールは、クエリ語句に部分一致が含まれている場合に適用されます。
- 完全一致: このコントロールは、クエリ語句に完全に一致する語句がクエリに含まれている場合にのみ適用されます。
これらの語句の 1 つがクエリに含まれている場合にコントロールが適用されます。
[時間範囲を追加] ボタンをクリックして、このコントロールを適用する時間範囲を 1 つ以上追加します。
[続行] をクリックして [アクション] セクションに進みます。
このコントロールがトリガーされたときにリダイレクトする URI を入力します。
[続行] をクリックして [サービス提供構成] セクションに進みます。
コントロールを適用するサービス構成を選択します。
コントロール設定を送信します。
新規作成または更新されたコントロールがライブ トラフィックを提供できるようになるまでに、数分かかります。変更が適用されたかどうかは、コンソールの [評価] ページでテストできます。
新しいコントロールは、[Controls] ページの [erving controls] タブに表示されます。
curl
リクエスト本文に含まれる Control のコントロール ID とインスタンスを使用して、Control.create リクエストを行います。
フィールドの詳細については、Controls API リファレンスと Controls.create API リファレンスをご覧ください。
ユーザーがサイトのカテゴリを閲覧した場合(search.request.queryが空)、またはユーザーがサイトを検索した場合(search.request.queryが空でない)、リダイレクト コントロールをトリガーできます。
次の例は、閲覧でトリガーされるコントロールのフィールドを示しています。ここで、searchSolutionUseCase は SEARCH_SOLUTION_USE_CASE_BROWSE に設定されています。
curl -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ --data '{ "displayName": "DISPLAY_NAME", "solutionTypes": [ "SOLUTION_TYPE_SEARCH" ], "searchSolutionUseCase": [ "SEARCH_SOLUTION_USE_CASE_BROWSE" ], "rule": { "condition": { "queryTerms": [ { "value": "VALUE_1", "fullMatch": "FULLMATCH_BOOLEAN_1" }, { "value": "VALUE_2", "fullMatch": "FULLMATCH_BOOLEAN_2" } ], "activeTimeRange": [ { "startTime": "START_TIMESTAMP_1", "endTime": "END_TIMESTAMP_1" }, { "startTime": "START_TIMESTAMP_2", "endTime": "END_TIMESTAMP_2" } ] }, "redirectAction": { "redirectUri": "REDIRECT_URI", } } }' \ "https://retail.googleapis.com/v2beta/projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/controls?controlId=CONTROL_ID"
次の例は、検索でトリガーされるコントロールのフィールドを示しています(searchSolutionUseCase は SEARCH_SOLUTION_USE_CASE_SEARCH に設定されています)。
curl -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ --data '{ "displayName": "DISPLAY_NAME", "solutionTypes": [ "SOLUTION_TYPE_SEARCH" ], "searchSolutionUseCase": [ "SEARCH_SOLUTION_USE_CASE_SEARCH" ], "rule": { "condition": { "queryTerms": [ { "value": "VALUE_1", "fullMatch": "FULLMATCH_BOOLEAN_1" }, { "value": "VALUE_2", "fullMatch": "FULLMATCH_BOOLEAN_2" } ], "activeTimeRange": [ { "startTime": "START_TIMESTAMP_1", "endTime": "END_TIMESTAMP_1" }, { "startTime": "START_TIMESTAMP_2", "endTime": "END_TIMESTAMP_2" } ] }, "redirectAction": { "redirectUri": "REDIRECT_URI", } } }' \ "https://retail.googleapis.com/v2beta/projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/controls?controlId=CONTROL_ID"
サービス構成にコントロールを追加するには、ServingConfig.addControl メソッドを使用します。
このメソッドの詳細については、
ServingConfig.addControlAPI リファレンスをご覧ください。このメソッドの例については、サービス構成を管理をご覧ください。
双方向の類義語コントロールを作成する
このコントロール タイプの詳細については、双方向の類義語コントロールをご覧ください。
Cloud コンソール
Search for commerce コンソールの [コントロール] ページに移動します。
[コントロール] ページに移動[Serving controls] タブで、add_box [Create control] をクリックします。
[コントロール名] フィールドに新しいコントロールの名前を入力します。
[コントロールを作成する] ペインが開きます。
[設定] セクションが表示されます。
省略可: 自動的に作成されたコントロール ID を変更するには、[編集] をクリックして新しいコントロール ID を入力します。
コントロール タイプとして [双方向の類義語コントロール] を選択します。
[続行]をクリックして [トリガー] セクションに進みます。
省略可: [時間範囲を追加] ボタンをクリックして、このコントロールを適用する時間範囲を 1 つ以上追加します。
[続行] をクリックして [アクション] セクションに進みます。
[類義語] フィールドに、互いに類義語であるクエリキーワード(
shirtとtopなど)を 2 ~ 100 個入力します。これらの語句のいずれかがクエリに含まれている場合、検索ではその他のクエリ語句は含まれている語句の類義語と見なされます。
[続行] をクリックして [サービス提供構成] セクションに進みます。
コントロールを適用するサービス構成を選択します。
コントロール設定を送信します。
新規作成または更新されたコントロールがライブ トラフィックを提供できるようになるまでに、数分かかります。変更が適用されたかどうかは、コンソールの [評価] ページでテストできます。
新しいコントロールは、[Controls] ページの [erving controls] タブに表示されます。
curl
リクエスト本文に含まれる Control のコントロール ID とインスタンスを使用して、Control.create リクエストを行います。
フィールドの詳細については、Controls API リファレンスと Controls.create API リファレンスをご覧ください。
curl -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ --data '{ "displayName": "DISPLAY_NAME", "solutionTypes": [ "SOLUTION_TYPE_SEARCH" ], "rule": { "condition": { "activeTimeRange": [ { "startTime": "START_TIMESTAMP_1", "endTime": "END_TIMESTAMP_1" }, { "startTime": "START_TIMESTAMP_2", "endTime": "END_TIMESTAMP_2" } ] }, "twoWaySynonymAction": { "synonyms": [ "SYNONYM_1", "SYNONYM_2" ] } } }' \ "https://retail.googleapis.com/v2beta/projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/controls?controlId=CONTROL_ID"
サービス構成にコントロールを追加するには、ServingConfig.addControl メソッドを使用します。サービス構成にインラインでコントロールを追加するをご覧ください。
一方向の類義語コントロールを作成する
このコントロール タイプの詳細については、一方向の類義語コントロールをご覧ください。
Cloud コンソール
Search for commerce コンソールの [コントロール] ページに移動します。
[コントロール] ページに移動[Serving controls] タブで、add_box [Create control] をクリックします。
[コントロールを作成する] ペインが開きます。
[設定] セクションの [コントロール名] フィールドに、新しいコントロールの名前を入力します。
省略可: 自動的に作成されたコントロール ID を変更するには、[編集] をクリックして新しいコントロール ID を入力します。
コントロール タイプとして [一方向の類義語コントロール] を選択します。
[続行]をクリックして [トリガー] セクションに進みます。
省略可: [時間範囲を追加] ボタンをクリックして、このコントロールを適用する時間範囲を 1 つ以上追加します。
[続行] をクリックして [アクション] セクションに進みます。
[クエリキーワード] フィールドに、いずれかがクエリに含まれるときに類義語を関連付ける必要のある用語(
shoesなど)を入力します。[類義語] フィールドに、指定したクエリキーワードの類義語として使用するキーワードを入力します(例: クエリキーワード
shoesの一方向の類義語としてのsneakersとsandals)。[続行] をクリックして [サービス提供構成] セクションに進みます。
コントロールを適用するサービス構成を選択します。
コントロール設定を送信します。
新規作成または更新されたコントロールがライブ トラフィックを提供できるようになるまでに、数分かかります。変更が適用されたかどうかは、コンソールの [評価] ページでテストできます。
新しいコントロールは、[Controls] ページの [erving controls] タブに表示されます。
curl
リクエスト本文に含まれる Control のコントロール ID とインスタンスを使用して、Control.create リクエストを行います。
フィールドの詳細については、Controls API リファレンスと Controls.create API リファレンスをご覧ください。
curl -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ --data '{ "displayName": "DISPLAY_NAME", "solutionTypes": [ "SOLUTION_TYPE_SEARCH" ], "rule": { "condition": { "activeTimeRange": [ { "startTime": "START_TIMESTAMP_1", "endTime": "END_TIMESTAMP_1" }, { "startTime": "START_TIMESTAMP_2", "endTime": "END_TIMESTAMP_2" } ] }, "oneWaySynonymAction": { "synonyms": [ "queryTerms": [ "QUERY_TERM_1", "QUERY_TERM_2" ], "synonyms": [ "SYNONYM_1", "SYNONYM_2" ] ] } } }' \ "https://retail.googleapis.com/v2beta/projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/controls?controlId=CONTROL_ID"
サービス構成にコントロールを追加するには、ServingConfig.addControl メソッドを使用します。
このメソッドの詳細については、
ServingConfig.addControlAPI リファレンスをご覧ください。このメソッドの例については、サービス構成を管理をご覧ください。
「関連付けなし」のコントロールを作成する
このコントロール タイプの詳細については、非関連付けコントロール ルールをご覧ください。
Cloud コンソール
Search for commerce コンソールの [コントロール] ページに移動します。
[コントロール] ページに移動[Serving controls] タブで、add_box [Create control] をクリックします。
[コントロールを作成する] ペインが開きます。
[設定] セクションの [コントロール名] フィールドに、新しいコントロールの名前を入力します。
省略可: 自動的に作成されたコントロール ID を変更するには、[編集] をクリックして新しいコントロール ID を入力します。
コントロール タイプとして [関連付けしないコントロール] を選択します。
[続行]をクリックして [トリガー] セクションに進みます。
省略可: [時間範囲を追加] ボタンをクリックして、このコントロールを適用する時間範囲を 1 つ以上追加します。
[続行] をクリックして [アクション] セクションに進みます。
[クエリキーワード] フィールドに、他のクエリと明確に区別するキーワード(
gShoeなど)を入力します。[関連付けられていないキーワード] フィールドに、指定したクエリキーワードと検索結果で関連付けないキーワードを入力します。
たとえば、クエリキーワード
gShoeと キーワードcheapの関連付けを解除できます。[続行] をクリックして [サービス提供構成] セクションに進みます。
コントロールを適用するサービス構成を選択します。
コントロール設定を送信します。
新規作成または更新されたコントロールがライブ トラフィックを提供できるようになるまでに、数分かかります。変更が適用されたかどうかは、コンソールの [評価] ページでテストできます。
新しいコントロールは、[Controls] ページの [erving controls] タブに表示されます。
curl
リクエスト本文に含まれる Control のコントロール ID とインスタンスを使用して、Control.create リクエストを行います。
フィールドの詳細については、Controls API リファレンスと Controls.create API リファレンスをご覧ください。
curl -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ --data '{ "displayName": "DISPLAY_NAME", "solutionTypes": [ "SOLUTION_TYPE_SEARCH" ], "rule": { "condition": { "activeTimeRange": [ { "startTime": "START_TIMESTAMP_1", "endTime": "END_TIMESTAMP_1" }, { "startTime": "START_TIMESTAMP_2", "endTime": "END_TIMESTAMP_2" } ] }, "doNotAssociateAction": { "queryTerms": [ "QUERY_TERM_1", "QUERY_TERM_2" ], "doNotAssociateTerms": [ "DISSOCIATED_TERM_1", "DISSOCIATED_TERM_2" ] ] } } }' \ "https://retail.googleapis.com/v2beta/projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/controls?controlId=CONTROL_ID"
サービス構成にコントロールを追加するには、ServingConfig.addControl メソッドを使用します。
このメソッドの詳細については、
ServingConfig.addControlAPI リファレンスをご覧ください。このメソッドの例については、サービス構成を管理をご覧ください。
取り消しコントロールを作成する
このコントロール タイプの詳細については、取り消しコントロールをご覧ください。
Cloud コンソール
Search for commerce コンソールの [コントロール] ページに移動します。
[コントロール] ページに移動[Serving controls] タブで、add_box [Create control] をクリックします。
[コントロールを作成する] ペインが開きます。
[設定] セクションの [コントロール名] フィールドに、新しいコントロールの名前を入力します。
省略可: 自動的に作成されたコントロール ID を変更するには、[編集] をクリックして新しいコントロール ID を入力します。
コントロール タイプとして [関連付けしないコントロール] を選択します。
[続行]をクリックして [トリガー] セクションに進みます。
省略可: [時間範囲を追加] ボタンをクリックして、このコントロールを適用する時間範囲を 1 つ以上追加します。
[続行] をクリックして [アクション] セクションに進みます。
[キーワードを無視] フィールドに、クエリキーワードで入力するときに検索が無視するキーワード(
shoddyなど)を入力します。[続行] をクリックして [サービス提供構成] セクションに進みます。
コントロールを適用するサービス構成を選択します。
コントロール設定を送信します。
新規作成または更新されたコントロールがライブ トラフィックを提供できるようになるまでに、数分かかります。変更が適用されたかどうかは、コンソールの [評価] ページでテストできます。
新しいコントロールは、[Controls] ページの [erving controls] タブに表示されます。
curl
リクエスト本文に含まれる Control のコントロール ID とインスタンスを使用して、Control.create リクエストを行います。
フィールドの詳細については、Controls API リファレンスと Controls.create API リファレンスをご覧ください。
curl -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ --data '{ "displayName": "DISPLAY_NAME", "solutionTypes": [ "SOLUTION_TYPE_SEARCH" ], "rule": { "condition": { "activeTimeRange": [ { "startTime": "START_TIMESTAMP_1", "endTime": "END_TIMESTAMP_1" }, { "startTime": "START_TIMESTAMP_2", "endTime": "END_TIMESTAMP_2" } ] }, "ignoreAction": { "ignoreTerms": [ "IGNORE_TERM_1", "IGNORE_TERM_2" ] ] } } }' \ "https://retail.googleapis.com/v2beta/projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/controls?controlId=CONTROL_ID"
サービス構成にコントロールを追加するには、ServingConfig.addControl メソッドを使用します。
このメソッドの詳細については、
ServingConfig.addControlAPI リファレンスをご覧ください。このメソッドの例については、サービス構成を管理をご覧ください。
代替コントロールを作成する
このコントロール タイプの詳細については、代替コントロールをご覧ください。
Cloud コンソール
Search for commerce コンソールの [コントロール] ページに移動します。
[コントロール] ページに移動[Serving controls] タブで、add_box [Create control] をクリックします。
[コントロールを作成する] ペインが開きます。
[設定] セクションの [コントロール名] フィールドに、新しいコントロールの名前を入力します。
省略可: 自動的に作成されたコントロール ID を変更するには、[編集] をクリックして新しいコントロール ID を入力します。
コントロール タイプとして [代替コントロール] を選択します。
[続行]をクリックして [トリガー] セクションに進みます。
省略可: [時間範囲を追加] ボタンをクリックして、このコントロールを適用する時間範囲を 1 つ以上追加します。
[続行] をクリックして [アクション] セクションに進みます。
[クエリキーワード] フィールドに、代替キーワードで置き換えるクエリキーワード(
gShoeなど)を入力します。[代替キーワード] フィールドに、指定したクエリキーワードを置き換えるキーワードを入力します。
たとえば、クエリキーワード
gShoeを代替キーワードGoogle Shoeに置き換えることができます。[続行] をクリックして [サービス提供構成] セクションに進みます。
コントロールを適用するサービス構成を選択します。
コントロール設定を送信します。
新規作成または更新されたコントロールがライブ トラフィックを提供できるようになるまでに、数分かかります。変更が適用されたかどうかは、コンソールの [評価] ページでテストできます。
新しいコントロールは、[Controls] ページの [erving controls] タブに表示されます。
curl
リクエスト本文に含まれる Control のコントロール ID とインスタンスを使用して、Control.create リクエストを行います。
フィールドの詳細については、Controls API リファレンスと Controls.create API リファレンスをご覧ください。
curl -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ --data '{ "displayName": "DISPLAY_NAME", "solutionTypes": [ "SOLUTION_TYPE_SEARCH" ], "rule": { "condition": { "activeTimeRange": [ { "startTime": "START_TIMESTAMP_1", "endTime": "END_TIMESTAMP_1" }, { "startTime": "START_TIMESTAMP_2", "endTime": "END_TIMESTAMP_2" } ] }, "replacementAction": { "queryTerms": [ "QUERY_TERM_1", "QUERY_TERM_2" ], "replacementTerm": "REPLACEMENT_TERM" } } } }' \ "https://retail.googleapis.com/v2beta/projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/controls?controlId=CONTROL_ID"
サービス構成にコントロールを追加するには、ServingConfig.addControl メソッドを使用します。
このメソッドの詳細については、
ServingConfig.addControlAPI リファレンスをご覧ください。このメソッドの例については、サービス構成を管理をご覧ください。
ピン留めコントロールを作成する
ピン留めコントロールを作成するには:
Cloud コンソール
Search for commerce コンソールの [コントロール] ページに移動します。
[コントロール] ページに移動[Serving controls] タブで、add_box [Create control] をクリックします。
[コントロールを作成する] ペインが開きます。
[設定] セクションの [コントロール名] フィールドに、新しいコントロールの名前を入力します。
省略可: 自動的に作成されたコントロール ID を変更するには、[編集] をクリックして新しいコントロール ID を入力します。
[プロダクトの選択] セクションで、[検索または参照] を選択します。
コントロール タイプとして [固定コントロール] を選択します。[続行] をクリックします。
[トリガー] セクションで、このコントロールをトリガーするユーザーの行動を選択します。
カテゴリのブラウジング: ブラウジング リクエストでは、
search.request.queryが空であることに加えて、page_categoriesフィールドに値が入力されている必要があります。検索: 検索リクエストでは、
search.request.queryのみが入力されている必要があります。デフォルトでは、閲覧されたすべてのカテゴリと検索されたすべてのクエリでこのコントロールがトリガーされます。
省略可: 閲覧された特定のカテゴリまたは検索された特定のクエリに基づいてルールをトリガーする条件を設定します。
カテゴリを閲覧: [カテゴリ] フィールドに、コントロールをトリガーするカテゴリを入力します。
検索: フィルタするクエリ用語(
running shoesなど)を追加するには、[クエリを追加] をクリックします。各キーワードで、[部分一致] または [完全一致] を選択します。
省略可: [時間範囲を追加] または [日付範囲を追加] をクリックして、このコントロールを適用する時間範囲を 1 つ以上追加します。
[続行] をクリックして [アクション] セクションに進みます。[位置を固定] では、スライダーを使用して、商品を固定する位置を指定します。ピン値のスライダーでは、0、負の数、整数以外の値は使用できません。
Vertex AI Search for Commerce では、単一のコントロールのピンマップに 10 個のピンを設定できます。位置には、1 ~ 120(リクエスト ページサイズの最大値)の任意の値を指定できます。
[続行] をクリックして、[サービス提供構成] セクションに進みます。コントロールを適用するサービス構成を選択し、コントロール設定を送信します。
新規作成または更新されたコントロールがライブ トラフィックを提供できるようになるまでに、数分かかります。変更が適用されたかどうかは、コンソールの [評価] ページでテストできます。
新しいコントロールは、[Controls] ページの [Serving controls] タブに表示されます。
curl
リクエスト本文に含まれる Control のコントロール ID とインスタンスを使用して、Control.create リクエストを行います。
フィールドの詳細については、Controls API リファレンスと Controls.create API リファレンスをご覧ください。
curl -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -H "X-Goog-User-Project: PROJECT_NUMBER" \ --data '{ "displayName": "DisplayName", "solutionTypes": "SOLUTION_TYPE_SEARCH", "searchSolutionUseCase": ["SEARCH_SOLUTION_USE_CASE_SEARCH"], "rule": { "condition": { "queryTerms": [ { "value": "Term1", "fullMatch": "boolean: true / false" }, { "value": "Term2", "fullMatch": "boolean: true / false" }, ], "activeTimeRange": [ { "startTime": timestamp1, "endTime": timestamp2 }, { "startTime": timestamp3, "endTime": timestamp4 } ] }, "pinAction": { "pinMap" : { "pin_position1": "product_id", "pin_position2": "product_id>" } } } }' \ "https://retail.googleapis.com/v2alpha/projects/PROJECT_NUMBER/locations/LOCATION/catalogs/default_catalog/controls?controlId=CONTROL_ID"
pin_position は [1,10] の範囲の整数で、product_id はカタログに存在する必要があります。ピンマップで許可される要素の最大数は、各コントロールで 10 個です。
次に、固定コントロールをサービス構成に関連付けます。
curl -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -H "X-Goog-User-Project: PROJECT_NUMBER" \ -d '{ "controlId": "CONTROL_ID" }' \ 'https://retail.googleapis.com/v2alpha/projects/PROJECT_NUMBER/locations/LOCATION/catalogs/default_catalog/servingConfigs/SERVING_CONFIG_ID:addControl'
この場合、CONTROL_ID は以前に作成した固定制御 id にする必要があります。
サービス構成にコントロールを追加するには、ServingConfig.addControl メソッドを使用します。
このメソッドの詳細については、
ServingConfig.addControlAPI リファレンスをご覧ください。このメソッドの例については、サービス構成を管理をご覧ください。
最後に、設定をテストするために検索リクエストを行います。リクエストにピン留めコントロールが正常に適用されるようにするには、前の手順で作成したコントロールで指定した語句/カテゴリと一致する検索語句(検索の場合)またはページ カテゴリ(ブラウズの場合)を使用します。
Cloud コンソール
Search for commerce コンソールの [評価] ページに移動します。
[評価] ページに移動[検索] タブに移動します。
検索クエリ フィールドにテストクエリを入力します。
[検索プレビュー] をクリックします。
結果を表示して、選択した商品が固定されていることを確認します。
curl
curl -s -X POST -H "Authorization: Bearer" -H "Content-Type: application/json" --data "{'query': '','visitorId': ' \ "https://retail.googleapis.com/v2/projects/PROJECT/locations/global/catalogs/CATALOG/placements/default_search:search"'}"
エラーチェックの制約
エラーチェックを行う際は、次の制約事項に注意してください。
- 2 つの商品を同じ位置に固定することはできません。つまり、商品「a」と商品「b」の両方を 2 番目の位置に固定することはできません。
- 逆に、1 つの商品を複数の場所に固定することはできません。つまり、同じクエリに対して、商品「a」を同時に 2 番目と 3 番目の位置に固定することはできません。
- フィルタや並べ替えが適用されていない場合、
product_idはカタログ内の商品として存在する必要があります。