サービス制御をサービス提供構成に適用して、検索が検索クエリを扱い、結果を返す方法をカスタマイズできます。サービス制御は、条件とアクションのペアで構成されるルールです。条件は、サービス コントロールがいつ実行されるかを示します。アクションは、サービス制御が動作する動作を指定します。
サービス提供コントロールは、Search for Retail コンソールまたは API Control.create
メソッドを使用して作成できます。
その後、作成したすべてのサービス提供構成に新しいサービス提供コントロールをアタッチできます。リクエストの時点で、アクティブなサービス構成の制御のみが考慮されます。
Search for Retail コンソールでサービス管理を作成する方法については、サービス管理を作成するをご覧ください。
次のサービス管理を使用できます。
- ブースト / 埋め込み: 返される結果リスト内の検索結果のランキングと順序に影響します。 Retail Search とレコメンデーションで使用できます。
- フィルタ: 返される結果リストからフィルタを通過しない結果を削除します。検索でのみ利用できます。
- リダイレクト: 検索クエリに応じてユーザーを特定のページにリダイレクトします。検索でのみ利用できます。
- 固定: 特定の商品について、検索結果内の正確な位置が指定されます。
- 言語: 検索クエリの言語をカスタマイズします。Retail Search でのみ利用できます。数種類の言語制御を使用できます。
制御条件
制御条件は、サービス制御がいつ実行されるかを規定します。
制御条件フィールドには、クエリ キーワード、期間、またはその両方にすることができます。制御の種類によって、複数の条件フィールドが許可されているものもあれば、許可されていないものもあります。
使用可能な条件フィールド:
- クエリ キーワード: 検索クエリにキーワードが表示されたときにトリガーされます。
- 完全一致では、検索クエリ全体がクエリ キーワードに一致する必要があります。
- 複数のクエリ キーワードを指定できます。検索クエリにいずれかのクエリ キーワードが表示されている限りトリガーされます。
- 有効期間: 検索クエリの日付が期間内にあるときにトリガーされます。
- 複数の期間を指定できます。クエリの日付が(包括的な)期間内である限りトリガーされます。
指定する条件フィールドで、制御が適用されるかどうかを決定します。
- 複数の条件フィールドは AND を使用して結合されます。つまり、期間とクエリ キーワードの両方を指定した場合は、制御を適用するには、両方の条件フィールドがトリガーされる必要があります。
- 複数条件サブフィールドは OR を使用して結合されます。つまり、複数のクエリ キーワードがある場合は、いずれかのクエリ キーワードが一致するとクエリ キーワードがトリガーされます。複数の期間がある場合は、いずれかの期間が一致すると期間がトリガーされます。
- 指定された条件フィールドがないとは、制御は常に適用されるということです。ただし、一部の制御ではフィールドを定義する必要があります。
条件設定の詳細については、Controls.condition
API リファレンスをご覧ください。
制御アクション
制御アクションは、検索中に条件が満たされた場合にサービス制御が有効にするアクションを指定します。
指定できるアクションの種類は、作成するサービス提供コントロールのタイプによって異なります。たとえば、ブースト / 埋め込みコントロールのアクションは、ブースト / 埋め込み値を指定したフィルタの商品に適用し、一方向の類義語コントロールのアクションは、指定した関連用語を適用します。
ブースト/ベリー制御
ブースト/ベリー コントロールを使用すると、特定の検索結果のランキングを上げたり下げたりして表示できます。
検索またはレコメンデーションのブースト / 埋め込みコントロールを作成できます。レコメンデーションのブースト / 埋め込みは公開プレビュー版です。
ブースト / 埋め込みコントロールを作成する場合は、フィルタ式を使用して Product
フィールドに基づいて条件を指定できます。
- 検索フィルタの場合は、結果をフィルタリングして並べ替えるに記載されているフィルタ式構文を使用します。
- レコメンデーション フィルタの場合は、レコメンデーションをフィルタリングするに記載されているフィルタ式の構文を使用します。
次に、-1.0 ~ 1.0 の間の boost
値を適用して、これらの条件と一致する商品の結果をブーストまたは埋めることができます。正の値は結果をブーストし、負の値は結果を埋めます。
ブーストの強さを高く設定すると、アイテムに大幅な昇格が適用されますが、ブーストされたアイテムが常に上位の結果になるとは限りません。検索クエリに著しく関連している結果は、重要性が高いが関連していないアイテムよりも依然として優先されます。同様に、ブーストの強度を -1.0 に設定すると、アイテムに大幅な降格が適用されますが、深く関連している結果が引き続き表示されることがあります。
ブースト / 埋め込みを使用する例として、より安価な商品を優先し、高価な商品の優先順位を低くできます。
コントロール条件は、検索とレコメンデーションのブースト / 埋め込みコントロールで異なります。
- 検索: コントロール条件として、クエリ用語と該当する期間を設定できます。
- レコメンデーション: コントロール条件は利用できません。コントロールは常に適用されます。
コントロール アクションとして、ブーストまたは埋め込む商品のフィルタを指定し、ブースト / 埋め込み値を設定します。
ブースト / 埋め込みコントロールを作成するには、新しいサービス提供コントロールを作成するをご覧ください。
ブースト / 埋め込み制御設定の詳細については、Controls.BoostAction
API リファレンスをご覧ください。
フィルタ コントロール
フィルタ オプションを使用すると、特定の検索リクエストに基づいて事前に定義されたフィルタを動的に追加できます。
Product
フィールドに基づいてフィルタ式を使用できます。フィルタ式の構文については、結果のフィルタリングと並べ替えをご覧ください。
制御条件として、クエリ キーワードと該当する期間を設定できます。制御アクションとして、クエリ時に適用するフィルタを指定します。
たとえば、「青い靴」というクエリの場合、フィルタ制御を使用して、検索結果を青の色で自動的にフィルタできます。フィルタ制御を使用して、特定の結果を買い物客に返さないようにすることもできます。
フィルタ オプションを作成するには、新しいサービス提供コントロールを作成するをご覧ください。
フィルタ オプション設定の詳細については、Controls.FilterAction
API リファレンスをご覧ください。
リダイレクト コントロール
リダイレクト コントロールを使用すると、検索結果を表示するだけではなく、買い物客の意図に基づいて異なるページに買い物客をリダイレクトできます。
制御条件として、クエリ キーワードと該当する期間を設定できます。制御アクションとして、条件が一致した場合にリダイレクトするリダイレクト URI を指定します。
たとえば、「gShoe」という商品のプロモーション中に、「ランニング シューズ」または「スポーツ」シューズを含むクエリが gShoe の商品ページにリダイレクトされるようにリダイレクト制御を作成できます。
リダイレクト コントロールを作成するには、新しいサービス提供コントロールを作成するをご覧ください。
リダイレクト制御設定の詳細については、Controls.RedirectAction
API リファレンスをご覧ください。
固定のコントロール
固定コントロールを使用すると、特定の商品を検索結果の特定の位置に表示するように指定できます。
検索またはブラウジング用の固定コントロールを作成できます。推奨事項には対応していません。
固定コントロールを作成する場合は、フィルタ式を使用して Product
フィールドに基づいて条件を指定できます。
制御アクションとして、検索またはブラウジング Condition
に Rule
を追加します。これはアクション フィールド pin_action.
になります。
次に、[1,120] の間の pin
値を適用して、指定された条件と一致する結果を固定する固定位置を指定します。
- ルール条件: 空でない
[Condition.query_terms][]
(検索のみ)または[Condition.page_categories][]
(ブラウジングのみ)を指定する必要があります。両方を指定することはできません。 - アクション入力:
[pin_position, product_id]
ペアがマッピングされます(入力位置は 1 ~ 120 の値にできます)。最大サイズは、リクエストの最大ページサイズです。10 は、ピンマップで許可されるペアの数です。 - アクションの結果: 一致する ID の商品を、最終的な結果の順序で指定された位置に固定します。たとえば、クエリが「shoes」で、
[Condition.query_terms][]
が"shoes"
、pin_map
に{1
、pid1}
があるとします。pid1
が付いた商品は、最終結果のトップ掲載位置に固定されます。
ピンと適用ルールの有効化
固定コントロールが有効になっている場合:
- ピンに一致する商品 ID を持つ商品は、コントロールで指定された正確な位置に最終レスポンスに表示されます。
- 2 ページ目以降(ページ番号が大きい)への固定は許可されません。つまり、リクエスト
page_size
より高い位置に設定された固定はすべて無視されます。 - 1 つのコントロールで固定できる商品は最大 10 個です。
product_id
は、カタログ内の既存の商品の ID にする必要があります。
以下のいずれかに該当しない限り、商品は常にすべての検索でリコールされ、ページに表示されます。
- フィルタと並べ替えが適用されます。これにより、ピンが表示されなくなります。
- 並べ替え順序(検索結果を価格で並べ替える)はデフォルトではありません。
ピンの動作
- 商品が固定されている場合、リクエストまたは他のコントロールからのブーストまたはブリーフィングは無視されます。
- 商品が複数の位置に固定されている場合、最後に更新されたコントロールが優先されます。
- 同じ固定コントロール(ピンマップ)内の同じ位置に 2 つの商品を固定することはできません。
- 複数のコントロールが同じクエリに一致し、それぞれが同じ商品 ID に対して異なるピンを持っている場合、最後に更新されたコントロールの
[pin_pos, p_id]
ペアが優先されます。
- 複数のコントロールが同じクエリに一致し、それぞれが同じ商品 ID に対して異なるピンを持っている場合、最後に更新されたコントロールの
言語制御
特定のクエリで語句の処理方法に追加やオーバーライドを作成できます。
類義語制御
2 つの単語を類義語として設定することは、2 つの単語を関連付ける言語制御です。
類義語の管理を使用すると、システムがデフォルトで取得しない商品を検索結果に追加できます。
たとえば、「ランニング シューズ」の検索結果に「スポーツ シューズ」も含める場合は、言語の類義語制御を作成します。条件は、検索キーワードとして「ランニング シューズ」が入力されることです。アクションは、その検索に「スポーツ シューズ」という類義語を含めることです。そのため、サイトの買い物客が「ランニング シューズ」を検索すると、検索は作成した言語制御との一致を見つけ、買い物客に検索結果を返す際に「スポーツ シューズ」が含まれるように検索を拡張します。
類義語コントロールを作成するには、新しいサービス提供コントロールを作成するをご覧ください。
双方向の類義語制御
双方向の類義語制御を使用して複数のキーワードを一緒に結びつけ、検索が検索中にそれらを同じものとして扱うようにします。
制御条件として、クエリ キーワードと該当する期間を設定できます。 別途制御アクションを設定する必要はありません。指定したキーワードがクエリとして使用される場合は、制御アクションは類義語として指定した他のキーワードを使用します。
たとえば、キーワードの「ディッシュ タオル」と「キッチン タオル」を類義語として関連付ける双方向類義語制御を設定できます。サイトの買い物客がクエリに「キッチン タオル」と入力すると、検索では、それからクエリを拡張して「ディッシュ タオル」の結果と「キッチン タオル」の結果も含めるようにできます。
類義語コントロールを作成するには、新しいサービス提供コントロールを作成するをご覧ください。
なお、類義語は元のクエリを変更しません。たとえば、「A<==>B」の双方向の類義語は次のように機能します。
クエリ「A」の場合、返される結果は結果セット A(類義語ルールが適用されていない場合)と結果セット B の一部ですが、結果セット A と結果セット B の結合よりも小さい場合があります。
クエリ「B」の場合、返される結果は結果セット B と結果セット A の一部ですが、結果セット A と結果セット B の合計より小さい場合があります。
双方向の類義語コントロール設定の詳細については、Controls.TwowaySynonymsAction
API リファレンスをご覧ください。
一方向の類義語制御
一方向の類義語制御では、クエリ語句を拡張して、キーワードを一緒に一方向に結びつげます。
制御条件として、クエリ キーワードと該当する期間を設定できます。制御アクションとして、一方向の類義語として使用するキーワードを指定します。
たとえば、「バラ」というキーワードの検索を拡張して「ピンク」というキーワードを含める、一方向の類義語制御を設定できます。これは一方向の類義語であるため、「ピンク」というキーワードの検索は「バラ」というキーワードを含むように拡張されません。
一方向の類義語制御を作成するには、新しいサービス提供コントロールを作成するをご覧ください。
双方向のシノニムと同様に、元のクエリが実行され、そのクエリへのヒントとしてシノニムが提供されます。まったく異なる単語の類義語の場合、検索結果に含まれる類義語の語句はごく少数になることがあります。たとえば、「dog=>cat」の類義語ルールでは、犬が主に返され、猫も一部返されますが、「rose=>pink」の例では、ピンクのバラに重点を置いてピンクのアイテムが返されます。
一方向の類義語コントロール設定の詳細については、Controls.OnewaySynonymsAction
API リファレンスをご覧ください。
類義語が同じ結果を返さない
2 つの類義語の検索結果が必ずしも同じになるとは限りません。
たとえば、「ノートパソコン バッグ」と「荷物」を双方向の類義語として設定した場合、システムはすでに「スーツケース」を「荷物」に関連付けている可能性があります。たとえば、ユーザーが「luggage」と検索すると、小売業向け Vertex AI Search は「luggage」、「suitcase」、「laptop bags」に関する結果を返します。ただし、「ノートパソコン バッグ」を検索すると、小売業向け Vertex AI Search では「luggage」のみが類義語に追加されます。そのため、結果に「スーツケース」が含まれない場合があります。
無視制御
無視制御により、検索が検索中に特定のクエリ キーワードを使用することを防ぐことができます。
無視制御は否定演算子ではありません。小売業向け Vertex AI Search がそのキーワードの結果を何も提供しないことを保証するものではありません。このことの発生を完全に防ぐには、フィルタ制御を使用します。単一の単語のクエリに無視コントロールを適用しても、Google が定義した類義語やクエリ拡張によって一部の商品に一致する結果が返されることがあります。
たとえば、「oil」という単語を無視するように設定しても、「oil paints」というクエリに対しては油絵の具が返されます。このクエリは「paints」として渡され、多くの油絵具が一致する可能性がありますが、検索語句が「paints」であるため、結果セットは大きくなります。このタイプのコントロールは、サイト上で「油絵具」がよく検索されている場合や、さまざまな種類の絵具を販売しているものの、油絵具は多くない場合に便利です。
無視制御は、検索が結果を何も提供しないことを保証しません。このことの発生を完全に防ぐには、フィルタ制御を使用します。
制御条件として、クエリ キーワードと該当する期間を設定できます。 別途制御アクションを設定する必要はありません。指定したキーワードがクエリとして使用された場合、制御アクションはそのキーワードを無視します。
たとえば、不適切な語句を使用するクエリ キーワードを無視する制御を作成できます。
無視コントロールを作成するには、新しいサービス提供コントロールを作成するをご覧ください。
無視制御設定の詳細については、Controls.IgnoreAction
API リファレンスをご覧ください。
非関連付け制御
非関連付け制御を使用すると、指定した他のキーワードの検索中に、クエリ キーワードが一緒にクエリされないようにできます。
制御条件として、クエリ キーワードと該当する期間を設定できます。制御アクションとして、クエリ キーワードに関連付けてはならないキーワードを指定します。
たとえば、ブランド名(「gShoe」など)がクエリで「cheap」と「poor quality」の用語とグループ化されないようにする制御を作成し、買い物客が「poor quality cheap gShoe」の場合、検索は「gShoe」のみを検索します。
検索キーワードの関連する結果に、「非関連付け」と指定されたキーワードも含まれている場合は、その関連する結果が依然として返されることがあります。このことの発生を完全に防ぐには、フィルタ制御を使用します。
関連付けなしのコントロールを作成するには、新しいサービス提供コントロールを作成するをご覧ください。
非関連付け制御設定の詳細については、Controls.DoNotAssociateAction
API リファレンスをご覧ください。
置換制御
置換制御は、1 つ以上の所与のクエリ キーワードを指定した別のキーワードに置き換えます。単一のキーワードにマッピングできる複数のキーワードを指定できます(ただし、その逆はできません)。
制御条件として、クエリ キーワードと該当する期間を設定できます。コントロール アクションとして、代わりに使用すべきキーワードを指定します。
たとえば、ブランドのニックネームを、商品の説明で一般的に使用される完全なブランド名に置き換える制御を作成できます。
Search for Retail コンソールで代替コントロールを作成するには、新しいサービス提供コントロールを作成するをご覧ください。
置換制御設定の詳細については、Controls.ReplacementAction
API リファレンスをご覧ください。