サービス提供コントロールを作成する

このページでは、サービス提供コントロールの作成方法について説明します。

サービス提供コントロールは、個々のサービス構成を定義して適用するルールです。サービス構成について詳しくは、サービス構成についてをご覧ください。

サービス提供コントロールを使用すると、結果でのサービス提供構成をカスタマイズするルールを作成できます。

サービス提供コントロールは、コントロールをトリガーする条件と、条件がトリガーされたときに実行されるアクションで構成される Search for Retail コンソールで作成できます。その後、新しいサービス提供コントロールをサービス構成に関連付けることができます。

サービス構成は、コントロールと多対多の関係を持ちます。1 つのサービス構成に複数のコントロールを追加でき、1 つのコントロールを複数のサービス構成に関連付けることができます。

サービス提供コントロールとサービス構成を作成するときに、それを使用できるプロダクト(レコメンデーションまたは Retail Search)を選択します。サービス提供コントロールを関連付けできるのは、同じプロダクトタイプのサービス構成のみです。たとえば、レコメンデーション用に作成されたサービス提供コントロールを、Retail Search 用に作成されたサービス構成に関連付けることはできません。

サービス構成は、検索リクエストまたは予測リクエスト時に適用されるコントロールを管理します。リクエストの有効なサービス構成のコントロールだけが、サービス提供時に考慮されます。たとえば、「シューズ」が検索されたときに、gShoe のブランドの結果をブーストする「gShoe Sale」というコントールと、用語「ランニング シューズ」を使用して「スポーツ シューズ」を含めるようクエリを拡張する「More Shoes」というコントロールを 2 つ作成したとします。サービス提供構成に「gShoe Sale」コントロールのみを関連付けた場合、そのサービス提供を使用して検索リクエストを行うと、用語「シューズ」を使用したクエリに対する gShoe の結果はブーストされますが、「More Shoes」コントロールは使用しているサービス提供構成に関連付けられていないため影響がありません。

コントロールを作成し、ライブサービス提供構成に追加または入れ替えることができます。

サービス提供コントロールは、[コントロール] ページまたは Controls.create メソッドを使用してインラインでいつでも作成または変更できます。コンソールでは、オプションでサービス構成の作成プロセス中にコントロールを作成できます。

最大 100 個のサービス提供コントロールを作成できます。さらにサービス提供コントロールが必要な場合は、追加の割り当てをリクエストしてください。追加の割り当てをリクエストする方法については、割り当てを増やすをご覧ください。サービス提供構成には、リダイレクト コントロール以外の最大 100 個のサービス提供コントロールを含めることができます。サービス提供構成ごとの上限は 1,000 個です。

サービス提供コントロールでは次の設定を使用できます。

  • ブースト / 埋め込み: 返される結果リスト内の検索結果のランキングと順序に影響します。 Retail Search とレコメンデーションで使用できます。
  • フィルタ: 返された結果リストからフィルタを通過しない結果を削除します。 Retail Search でのみ利用できます。
  • リダイレクト: 検索クエリに応じてユーザーを特定のページにリダイレクトします。Retail Search でのみ利用できます。
  • 言語: 検索クエリの言語をカスタマイズします。Retail Search でのみ使用できます。数種類の言語制御を使用できます。
    • 類義語: 検索クエリの類義語と考えられるものを拡張します。
    • 一方向の類義語: 特定のキーワードの類義語と考えられるものを一方向に拡張します。
    • 関連付けない: 特定のキーワードが表示されたときに、あるキーワード グループが検索で使用されないようにします。
    • 無視: 検索に特定のキーワードが使用されないようにします。
    • 置換: 検索クエリのキーワードを置き換えます。

これらのコントロールの例については、サービス提供コントロールをご覧ください。

リダイレクト制御のチュートリアル

このチュートリアルでは、リダイレクト制御の使用方法について説明します。


このタスクを Cloud Shell エディタで直接行う際の順を追ったガイダンスについては、[ガイドを表示] をクリックしてください。

ガイドを表示


新しいサービス提供コントロールを作成する

Google Cloud Console の [コントロール] ページで、または Controls.create メソッドを使用してインラインで新しいサービス提供コントロールを作成します。

コントロールの要件は、タイプによって異なります。作成するコントロールのタイプの作成手順に進みます。

ブースト / 埋め込みコントロールを作成する

このコントロール タイプの詳細については、ブースト / 埋め込みコントロールをご覧ください。

このコントロール タイプは、Retail Search とレコメンデーションで利用できます。

Retail Search のブースト / 埋め込みコントロールを作成するには:

コンソール

  1. Search for Retail コンソールの [Controls] ページに移動します。

    [Controls] ページに移動

  2. [Serving controls] タブで、 [Create control] をクリックします。

    [コントロールを作成する] ペインが開きます。

[設定] セクションで次の操作を行います。

  1. [コントロール名] フィールドに新しいコントロールの名前を入力します。

  2. 省略可: 自動的に作成されたコントロール ID を変更するには、[編集] をクリックして新しいコントロール ID を入力します。

  3. [プロダクトの選択] セクションで [検索] を選択します。

  4. コントロール タイプとして [ブースト / 埋め込みコントロール] を選択します。

  5. [続行]をクリックして [トリガー] セクションに進みます。

[トリガー] セクションで、コントロールをトリガーする条件を設定します。

  1. このコントロールをトリガーするユーザーの行動のタイプを選択します。

    • カテゴリを閲覧する: ユーザーがサイトのカテゴリを閲覧したときにルールがトリガーされます(search.request.query は空です)。

    • 検索: ユーザーがサイトで検索したときにルールがトリガーされます(search.request.query は空ではありません)。

    次のステップでは、このコントロールをトリガーできる特定のカテゴリまたはクエリを設定できます。カテゴリが閲覧されたとき、またはクエリが検索されたときに、このコントロールを設定してトリガーするには、次の手順をスキップします。

  2. 省略可: 特定のカテゴリが閲覧されたか、特定のクエリが検索されたかどうかに基づいて、ルールをトリガーするコントロール条件を設定します。

    任意のカテゴリまたはクエリでトリガーするようにこのコントロールを設定するには、この手順をスキップします。

    使用可能なオプションは、[カテゴリを閲覧] か [検索] のどちらを選択するかによって異なります。

    • [カテゴリを閲覧] を選択した場合: [カテゴリ] フィールドに、閲覧時にこのコントロールをトリガーするカテゴリを入力します。

    • [検索] を選択した場合: [クエリを追加] ボタンをクリックし、フィルタするクエリ用語(running shoes など)を追加して、次の各用語のいずれかを選択します。

      • 部分一致: このコントロールは、クエリ語句に部分一致が含まれている場合に適用されます。
      • 完全一致: このコントロールは、クエリ語句に完全に一致する語句がクエリに含まれている場合にのみ適用されます。

      これらの語句の 1 つがクエリに含まれている場合にコントロールが適用されます。

    このタイプの条件に加えて、時間範囲の条件を指定すると、両方の条件が満たされた場合にのみコントロールが適用されます。

  3. 省略可: [時間範囲を追加] ボタンをクリックして、このコントロールを適用する時間範囲を 1 つ以上追加します。

    時間範囲条件に加えてカテゴリまたはクエリの利用条件を指定すると、両方の条件が満たされた場合にのみコントロールが適用されます。

  4. [続行] をクリックして [アクション] セクションに進みます。

[アクション] セクションで、次の操作を行います。

  1. [ブースト / 埋め込み商品] フィールドに商品属性のフィルタを追加します。

    フィルタリングと並べ替えで記載されているフィルタ式の構文を使用してください。

    たとえば、「product1」と「product2」の赤と青のバージョンを指定するには: (id: ANY("product1","product2")) AND (colorFamily: ANY("Red","Blue"))

  2. [ブースト / 埋め込み値] には、スライダーを使用してブーストの強さを設定します。正の値は結果をブーストし、負の値は結果を埋め込みます。

  3. [続行] をクリックして [サービス提供構成] セクションに進みます。

[サービス提供構成] セクションで、次の操作を行います。

  1. コントロールを適用するサービス構成を選択します。

  2. コントロール設定を送信します。

    新規作成または更新されたコントロールがライブ トラフィックを提供できるようになるまでに、数分かかります。変更が適用されたかどうかは、コンソールの [評価] ページでテストできます。

新しいコントロールは、[Controls] ページの [erving controls] タブに表示されます。

curl

リクエスト本文に含まれる Control のコントロール ID とインスタンスを使用して、Control.create リクエストを行います。

フィールドの詳細については、Controls API リファレンスControls.create API リファレンスをご覧ください。

ユーザーがサイト上でカテゴリを閲覧した場合(search.request.query が空)、またはユーザーがサイトを検索した場合(search.request.query が空でない)、ブースト/ベリー・コントロールをトリガーできます。

次の例は、閲覧でトリガーされるコントロールのフィールドを示しています。ここで、searchSolutionUseCaseSEARCH_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"

次の例は、検索でトリガーされるコントロールのフィールドを示しています(searchSolutionUseCaseSEARCH_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 メソッドを使用します。

レコメンデーションのブースト/埋め込みコントロールを作成する

レコメンデーションのブースト/埋め込みコントロールを作成するには:

コンソール

  1. Search for Retail コンソールの [Controls] ページに移動します。

    [Controls] ページに移動

  2. [Serving controls] タブで、 [Create control] をクリックします。

    [コントロールを作成する] ペインが開きます。

[設定] セクションで次の操作を行います。

  1. [コントロール名] フィールドに新しいコントロールの名前を入力します。

  2. 省略可: 自動的に作成されたコントロール ID を変更するには、[編集] をクリックして新しいコントロール ID を入力します。

  3. [プロダクトの選択] セクションで、[レコメンデーション] を選択します。

  4. コントロール タイプとして [ブースト / 埋め込みコントロール] を選択します。

  5. [続行] をクリックして [アクション] セクションに進みます。

[アクション] セクションで、次の操作を行います。

  1. [ブースト / 埋め込み商品] フィールドに商品属性のフィルタを追加します。

    レコメンデーションのフィルタのドキュメントに記載されているフィルタ式の構文を使用します。

    たとえば、「product1」と「product2」の赤と青のバージョンを指定するには: (id: ANY("product1","product2")) AND (colorFamily: ANY("Red","Blue"))

  2. [ブースト / 埋め込み値] には、スライダーを使用してブーストの強さを設定します。正の値は結果をブーストし、負の値は結果を埋め込みます。

  3. [続行] をクリックして [サービス提供構成] セクションに進みます。

[サービス提供構成] セクションで、次の操作を行います。

  1. コントロールを適用するサービス構成を選択します。

  2. コントロール設定を送信します。

    新規作成または更新されたコントロールがライブ トラフィックを提供できるようになるまでに、数分かかります。変更が適用されたかどうかは、コンソールの [評価] ページでテストできます。

新しいコントロールは、[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_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 メソッドを使用します。

フィルタ オプションを作成する

このコントロール タイプの詳細については、フィルタ オプションをご覧ください。

コンソール

  1. Search for Retail コンソールの [Controls] ページに移動します。

    [Controls] ページに移動

  2. [Serving controls] タブで、 [Create control] をクリックします。

    [コントロールを作成する] ペインが開きます。

[設定] セクションで次の操作を行います。

  1. [コントロール名] フィールドに新しいコントロールの名前を入力します。

  2. 省略可: 自動的に作成されたコントロール ID を変更するには、[編集] をクリックして新しいコントロール ID を入力します。

  3. コントロール タイプとして [フィルタ オプション] を選択します。

  4. [続行]をクリックして [トリガー] セクションに進みます。

[トリガー] セクションで、次の操作を行います。

  1. このコントロールをトリガーするユーザーの行動のタイプを選択します。

    • カテゴリを閲覧する: ユーザーがサイトのカテゴリを閲覧したときにルールがトリガーされます(search.request.query は空です)。

    • 検索: ユーザーがサイトで検索したときにルールがトリガーされます(search.request.query は空ではありません)。

  2. 省略可: 閲覧されるカテゴリまたは検索されるクエリに基づいてルールをトリガーするコントロール条件を設定します。使用可能なオプションは、[カテゴリを閲覧] か [検索] のどちらを選択するかによって異なります。

    • [カテゴリを閲覧] を選択した場合: [カテゴリ] フィールドに、閲覧時にこのコントロールをトリガーするカテゴリを入力します。

    • [検索] を選択した場合: [クエリを追加] ボタンをクリックし、フィルタするクエリ用語(running shoes など)を追加して、次の各用語のいずれかを選択します。

      • 部分一致: このコントロールは、クエリ語句に部分一致が含まれている場合に適用されます。
      • 完全一致: このコントロールは、クエリ語句に完全に一致する語句がクエリに含まれている場合にのみ適用されます。

      これらの語句の 1 つがクエリに含まれている場合にコントロールが適用されます。

    この条件に加えて、時間範囲の条件を指定すると、両方の条件が満たされた場合にのみコントロールが適用されます。

  3. 省略可: [時間範囲を追加] ボタンをクリックして、このコントロールを適用する時間範囲を 1 つ以上追加します。

    この時間範囲条件に加えて、カテゴリまたはクエリの利用条件を指定すると、両方の条件が満たされた場合にのみコントロールが適用されます。

  4. [続行] をクリックして [アクション] セクションに進みます。

[アクション] セクションで、次の操作を行います。

  1. [フィルタ アクション] フィールドに、商品属性のフィルタを追加します。

    フィルタリングと並べ替えで記載されているフィルタ式の構文を使用してください。

    たとえば、「product1」と「product2」の赤と青のバージョンを指定するには: (id: ANY("product1","product2")) AND (colorFamily: ANY("Red","Blue"))

  2. [続行] をクリックして [サービス提供構成] セクションに進みます。

[サービス提供構成] セクションで、次の操作を行います。

  1. コントロールを適用するサービス構成を選択します。

  2. コントロール設定を送信します。

    新規作成または更新されたコントロールがライブ トラフィックを提供できるようになるまでに、数分かかります。変更が適用されたかどうかは、コンソールの [評価] ページでテストできます。

新しいコントロールは、[Controls] ページの [erving controls] タブに表示されます。

curl

リクエスト本文に含まれる Control のコントロール ID とインスタンスを使用して、Control.create リクエストを行います。

フィールドの詳細については、Controls API リファレンスControls.create API リファレンスをご覧ください。

ユーザーがサイトのカテゴリを閲覧した(search.request.queryが空)場合、またはユーザーがサイトを検索した(search.request.queryが空でない)場合、フィルタ オプションをトリガーできます

次の例は、閲覧でトリガーされるコントロールのフィールドを示しています。ここで、searchSolutionUseCaseSEARCH_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"

次の例は、検索でトリガーされるコントロールのフィールドを示しています(searchSolutionUseCaseSEARCH_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 メソッドを使用します。

リダイレクト コントロールを作成する

このコントロール タイプの詳細については、リダイレクト コントロールをご覧ください。

コンソール

  1. Search for Retail コンソールの [Controls] ページに移動します。

    [Controls] ページに移動

  2. [Serving controls] タブで、 [Create control] をクリックします。

    [コントロールを作成する] ペインが開きます。

[設定] セクションで次の操作を行います。

  1. [コントロール名] フィールドに新しいコントロールの名前を入力します。

  2. 省略可: 自動的に作成されたコントロール ID を変更するには、[編集] をクリックして新しいコントロール ID を入力します。

  3. コントロール タイプとして [リダイレクト コントロール] を選択します。

  4. [続行]をクリックして [トリガー] セクションに進みます。

[トリガー] セクションで、クエリキーワードまたは時間範囲のトリガーを少なくとも 1 つ作成します。リダイレクト コントロールには少なくとも 1 つのトリガーが必要です。

  1. このコントロールをトリガーするユーザーの行動のタイプを選択します。

    • カテゴリを閲覧する: ユーザーがサイトのカテゴリを閲覧したときにルールがトリガーされます(search.request.query は空です)。

    • 検索: ユーザーがサイトで検索したときにルールがトリガーされます(search.request.query は空ではありません)。

  2. 閲覧されるカテゴリまたは検索されるクエリに基づいてルールをトリガーするコントロール条件を設定します。使用可能なオプションは、[カテゴリを閲覧] か [検索] のどちらを選択するかによって異なります。

    • [カテゴリを閲覧] を選択した場合: [カテゴリ] フィールドに、閲覧時にこのコントロールをトリガーするカテゴリを入力します。

    • [検索] を選択した場合: [クエリを追加] ボタンをクリックし、フィルタするクエリ用語(running shoes など)を追加して、次の各用語のいずれかを選択します。

      • 部分一致: このコントロールは、クエリ語句に部分一致が含まれている場合に適用されます。
      • 完全一致: このコントロールは、クエリ語句に完全に一致する語句がクエリに含まれている場合にのみ適用されます。

      これらの語句の 1 つがクエリに含まれている場合にコントロールが適用されます。

    この条件に加えて、時間範囲の条件を指定すると、両方の条件が満たされた場合にのみコントロールが適用されます。

  3. [時間範囲を追加] ボタンをクリックして、このコントロールを適用する時間範囲を 1 つ以上追加します。

    この時間範囲条件に加えて、カテゴリまたはクエリの利用条件を指定すると、両方の条件が満たされた場合にのみコントロールが適用されます。

  4. [続行] をクリックして [アクション] セクションに進みます。

[アクション] セクションで、次の操作を行います。

  1. このコントロールがトリガーされたときのリダイレクト先の URI を入力します。

  2. [続行] をクリックして [サービス提供構成] セクションに進みます。

[サービス提供構成] セクションで、次の操作を行います。

  1. コントロールを適用するサービス構成を選択します。

  2. コントロール設定を送信します。

    新規作成または更新されたコントロールがライブ トラフィックを提供できるようになるまでに、数分かかります。変更が適用されたかどうかは、コンソールの [評価] ページでテストできます。

新しいコントロールは、[Controls] ページの [erving controls] タブに表示されます。

curl

リクエスト本文に含まれる Control のコントロール ID とインスタンスを使用して、Control.create リクエストを行います。

フィールドの詳細については、Controls API リファレンスControls.create API リファレンスをご覧ください。

ユーザーがサイトのカテゴリを閲覧した(search.request.queryが空)場合、またはユーザーがサイトを検索した(search.request.queryが空でない)場合、リダイレクト コントロールをトリガーできます

次の例は、閲覧でトリガーされるコントロールのフィールドを示しています。ここで、searchSolutionUseCaseSEARCH_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"

次の例は、検索でトリガーされるコントロールのフィールドを示しています(searchSolutionUseCaseSEARCH_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 メソッドを使用します。

双方向の類義語コントロールを作成する

このコントロール タイプの詳細については、双方向の類義語コントロールをご覧ください。

コンソール

  1. Search for Retail コンソールの [Controls] ページに移動します。

    [Controls] ページに移動

  2. [Serving controls] タブで、 [Create control] をクリックします。

  3. [コントロール名] フィールドに新しいコントロールの名前を入力します。

    [コントロールを作成する] ペインが開きます。

[設定] セクションで次の操作を行います。

  1. 省略可: 自動的に作成されたコントロール ID を変更するには、[編集] をクリックして新しいコントロール ID を入力します。

  2. コントロール タイプとして [双方向の類義語コントロール] を選択します。

  3. [続行]をクリックして [トリガー] セクションに進みます。

[トリガー] セクションで、次の操作を行います。

  1. 省略可: [時間範囲を追加] ボタンをクリックして、このコントロールを適用する時間範囲を 1 つ以上追加します。

  2. [続行] をクリックして [アクション] セクションに進みます。

[アクション] セクションで、次の操作を行います。

  1. [類義語] フィールドに、互いに類義語であるクエリキーワード(shirttop など)を 2 ~ 100 個入力します。

    これらの語句のいずれかがクエリに含まれている場合、検索ではその他のクエリ語句は含まれている語句の類義語と見なされます。

  2. [続行] をクリックして [サービス提供構成] セクションに進みます。

[サービス提供構成] セクションで、次の操作を行います。

  1. コントロールを適用するサービス構成を選択します。

  2. コントロール設定を送信します。

    新規作成または更新されたコントロールがライブ トラフィックを提供できるようになるまでに、数分かかります。変更が適用されたかどうかは、コンソールの [評価] ページでテストできます。

新しいコントロールは、[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 メソッドを使用します。サービス構成にインラインでコントロールを追加するをご覧ください。

一方向の類義語コントロールを作成する

このコントロール タイプの詳細については、一方向の類義語コントロールをご覧ください。

コンソール

  1. Search for Retail コンソールの [Controls] ページに移動します。

    [Controls] ページに移動

  2. [Serving controls] タブで、 [Create control] をクリックします。

    [コントロールを作成する] ペインが開きます。

[設定] セクションで次の操作を行います。

  1. [コントロール名] フィールドに新しいコントロールの名前を入力します。

  2. 省略可: 自動的に作成されたコントロール ID を変更するには、[編集] をクリックして新しいコントロール ID を入力します。

  3. コントロール タイプとして [一方向の類義語コントロール] を選択します。

  4. [続行]をクリックして [トリガー] セクションに進みます。

[トリガー] セクションで、次の操作を行います。

  1. 省略可: [時間範囲を追加] ボタンをクリックして、このコントロールを適用する時間範囲を 1 つ以上追加します。

  2. [続行] をクリックして [アクション] セクションに進みます。

[アクション] セクションで、次の操作を行います。

  1. [クエリキーワード] フィールドに、いずれかがクエリに含まれるときに類義語を関連付ける必要のある用語(shoes など)を入力します。

  2. [類義語] フィールドに、指定したクエリキーワードの類義語として使用するキーワードを入力します(例: クエリキーワード shoes の一方向の類義語としての sneakerssandals)。

  3. [続行] をクリックして [サービス提供構成] セクションに進みます。

[サービス提供構成] セクションで、次の操作を行います。

  1. コントロールを適用するサービス構成を選択します。

  2. コントロール設定を送信します。

    新規作成または更新されたコントロールがライブ トラフィックを提供できるようになるまでに、数分かかります。変更が適用されたかどうかは、コンソールの [評価] ページでテストできます。

新しいコントロールは、[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 メソッドを使用します。

「関連付けなし」のコントロールを作成する

このコントロール タイプの詳細については、非関連付けコントロールをご覧ください。

コンソール

  1. Search for Retail コンソールの [Controls] ページに移動します。

    [Controls] ページに移動

  2. [Serving controls] タブで、 [Create control] をクリックします。

    [コントロールを作成する] ペインが開きます。

[設定] セクションで次の操作を行います。

  1. [コントロール名] フィールドに新しいコントロールの名前を入力します。

  2. 省略可: 自動的に作成されたコントロール ID を変更するには、[編集] をクリックして新しいコントロール ID を入力します。

  3. コントロール タイプとして [コントロールを関連付けない] を選択します。

  4. [続行]をクリックして [トリガー] セクションに進みます。

[トリガー] セクションで、次の操作を行います。

  1. 省略可: [時間範囲を追加] ボタンをクリックして、このコントロールを適用する時間範囲を 1 つ以上追加します。

  2. [続行] をクリックして [アクション] セクションに進みます。

[アクション] セクションで、次の操作を行います。

  1. [クエリキーワード] フィールドに、他のクエリと明確に区別するキーワード(gShoe など)を入力します。

  2. [関連付けられていないキーワード] フィールドに、指定したクエリキーワードに関連付けてはならないキーワードを入力します。

    たとえば、クエリキーワード gShoe と キーワード cheap の関連付けを解除できます。

  3. [続行] をクリックして [サービス提供構成] セクションに進みます。

[サービス提供構成] セクションで、次の操作を行います。

  1. コントロールを適用するサービス構成を選択します。

  2. コントロール設定を送信します。

    新規作成または更新されたコントロールがライブ トラフィックを提供できるようになるまでに、数分かかります。変更が適用されたかどうかは、コンソールの [評価] ページでテストできます。

新しいコントロールは、[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 メソッドを使用します。

取り消しコントロールを作成する

このコントロール タイプの詳細については、取り消しコントロールをご覧ください。

コンソール

  1. Search for Retail コンソールの [Controls] ページに移動します。

    [Controls] ページに移動

  2. [Serving controls] タブで、 [Create control] をクリックします。

    [コントロールを作成する] ペインが開きます。

[設定] セクションで次の操作を行います。

  1. [コントロール名] フィールドに新しいコントロールの名前を入力します。

  2. 省略可: 自動的に作成されたコントロール ID を変更するには、[編集] をクリックして新しいコントロール ID を入力します。

  3. コントロール タイプとして [コントロールを関連付けない] を選択します。

  4. [続行]をクリックして [トリガー] セクションに進みます。

[トリガー] セクションで、次の操作を行います。

  1. 省略可: [時間範囲を追加] ボタンをクリックして、このコントロールを適用する時間範囲を 1 つ以上追加します。

  2. [続行] をクリックして [アクション] セクションに進みます。

[アクション] セクションで、次の操作を行います。

  1. [キーワードを無視] フィールドに、クエリキーワードで入力するときに検索が無視するキーワード(shoddy など)を入力します。

  2. [続行] をクリックして [サービス提供構成] セクションに進みます。

[サービス提供構成] セクションで、次の操作を行います。

  1. コントロールを適用するサービス構成を選択します。

  2. コントロール設定を送信します。

    新規作成または更新されたコントロールがライブ トラフィックを提供できるようになるまでに、数分かかります。変更が適用されたかどうかは、コンソールの [評価] ページでテストできます。

新しいコントロールは、[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 メソッドを使用します。

代替コントロールを作成する

このコントロール タイプの詳細については、代替コントロールをご覧ください。

コンソール

  1. Search for Retail コンソールの [Controls] ページに移動します。

    [Controls] ページに移動

  2. [Serving controls] タブで、 [Create control] をクリックします。

    [コントロールを作成する] ペインが開きます。

[設定] セクションで次の操作を行います。

  1. [コントロール名] フィールドに新しいコントロールの名前を入力します。

  2. 省略可: 自動的に作成されたコントロール ID を変更するには、[編集] をクリックして新しいコントロール ID を入力します。

  3. コントロール タイプとして [置換コントロール] を選択します。

  4. [続行]をクリックして [トリガー] セクションに進みます。

[トリガー] セクションで、次の操作を行います。

  1. 省略可: [時間範囲を追加] ボタンをクリックして、このコントロールを適用する時間範囲を 1 つ以上追加します。

  2. [続行] をクリックして [アクション] セクションに進みます。

[アクション] セクションで、次の操作を行います。

  1. [クエリキーワード] フィールドに、代替キーワードで置き換えるクエリキーワード(gShoe など)を入力します。

  2. [代替キーワード] フィールドに、指定したクエリキーワードを置き換えるキーワードを入力します。

    たとえば、クエリキーワード gShoe を代替キーワード Google Shoe に置き換えることができます。

  3. [続行] をクリックして [サービス提供構成] セクションに進みます。

[サービス提供構成] セクションで、次の操作を行います。

  1. コントロールを適用するサービス構成を選択します。

  2. コントロール設定を送信します。

    新規作成または更新されたコントロールがライブ トラフィックを提供できるようになるまでに、数分かかります。変更が適用されたかどうかは、コンソールの [評価] ページでテストできます。

新しいコントロールは、[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 メソッドを使用します。