最新の e コマースの検索バーは、単なる入力フィールドではありません。テキストの入力が終わる前に、ユーザーを適切な商品に誘導するインタラクティブで動的なアシスタントです。入力中の検索(SAYE)機能では、クエリの候補、人気のブランド、関連するカテゴリ、上位の商品結果がリアルタイムで表示されるため、ユーザー エンゲージメントが向上し、コンバージョンにつながる可能性が高まります。
Vertex AI Search for Commerce には、クエリの予測入力と商品検索のための個別の API が用意されていますが、SAYE ユーザー エクスペリエンスの最終的な実装は意図的にオープンエンドになっています。
Vertex AI Search for Commerce を使用して構築するためのこのガイドでは、Vertex AI Search for Commerce API を使用して堅牢な SAYE ウィジェットを実装するための 2 つの主要な設計パターンについて説明し、各アプローチのトレードオフについて詳しく説明します。
コア コンポーネントについて理解する
包括的な SAYE 機能を構築するには、Vertex AI Search for Commerce が提供する次の 2 つの基本的な API を理解する必要があります。
CompleteQueryAPI: 自動補完候補の基盤となる API です。- 機能: lipst などの入力文字列を指定すると、候補となるクエリの補完( 口紅 や lip gloss )、関連する人気のブランド、関連するカテゴリのリストが返されます。
- 費用: この API は、Vertex AI Search for Commerce パッケージの料金に含まれています。
- パフォーマンス: キーストロークごとに必要な高速かつ低レイテンシのレスポンスを実現するように設計された、高スループットの API です。スペル修正や、結果を生成するように設計された候補など、自動学習機能を活用しています。これらはすべて、店舗の毎日の検索イベントでトレーニングされています。詳細については、スペル修正 API の仕様をご覧ください。
SearchAPI:これは、コアとなる商品検出エンジンです。- 機能:クエリを指定すると、関連性の高い商品結果のランク付けされたリストが返されます。
- 費用:これは有料の API であり、その使用量は運用コストに直接影響します。
- イベント: モデルのトレーニングと分析では、ユーザーの行動を追跡し、時間の経過とともに関連性モデルを改善するために、各
SearchAPI 呼び出しを検索イベントとペアにする必要があります。

SAYE エクスペリエンスを作成するには、これらの API の両方を呼び出し、その結果を 1 つのまとまりのあるユーザー インターフェースに結合するラッパー API またはフロントエンド ロジックを作成する必要があります。
実装パターン 1: 直接的だがコストがかかるアプローチ
これは、実装する最も簡単な方法です。ロジックは、キーストロークごとに CompleteQuery API と Search API の両方に並列呼び出しを行うことです。
フロー
フローは次の順序で実行されます。
- ユーザーが「 l 」などの文字を入力します。
- アプリケーションが
CompleteQueryAPI に「 l 」を送信します。 - 同時に、アプリケーションが
SearchAPI に「 l 」を送信します。 - 結果が結合されて表示されます。
- ユーザーが別の文字(「 l 」)を入力し、クエリが「 li 」になります。
- 新しいクエリ「 li 」に対してプロセスが繰り返されます。
利点
利点としては、実装が迅速であるため、ログをすばやく作成してデプロイできます。
欠点
SearchAPI のボリュームが多い: このアプローチでは、SearchAPI 呼び出しの数が大幅に増加します。「 lipstick 」のようなクエリでは、8 つの個別の検索リクエストがトリガーされ、ボリュームが大幅に増加します。- コストの増加:
SearchAPI は有料サービスであるため、このボリュームの増加は運用コストの増加に直接つながり、投資収益率(ROI)のプラス化が難しくなります。 - イベント管理の複雑さ: 正確なモデルのトレーニングと測定を行うには、すべての
SearchAPI 呼び出しを対応する検索イベントとともに記録する必要があります。呼び出しのボリュームが多いため、すべてのイベントがキャプチャされるようにするのは難しく、データ損失や分析の偏りにつながる可能性があります。 - 結果の品質が低下する可能性がある: 「l, li」などの 1 文字または 2 文字の検索では、ノイズの多い結果や広すぎる結果が返される可能性があり、最初の関連性が低くなる可能性があります。
実装パターン 2: 最適化された推奨アプローチ
このパターンでは、CompleteQuery API を使用して Search API を呼び出すタイミングをインテリジェントに決定することで、費用、パフォーマンス、関連性を最適化します。
フロー
フローは次の順序で実行されます。
- ユーザーが「 lip 」などの部分的なテキスト クエリを入力します。
- アプリケーションが
CompleteQueryAPI に「 lip 」を送信します。 - API は候補のリストを返します。最初の結果は「 lipstick 」になる可能性があります。
- アプリケーションは最初の候補( lipstick )を取得し、その語句を使用して
SearchAPI を 1 回呼び出します。 - 予測入力の候補と「 lipstick 」の商品結果が表示されます。
- ユーザーが「 lips, lipst, ... 」と入力し続けると、最初の予測入力の候補が変更された場合にのみ新しい検索呼び出しを行うロジックを追加できます。
利点
- 大幅なコスト削減: この方法では、
SearchAPI 呼び出しの数を大幅に削減することで、コストを抑えることができます。 - API とイベントのボリュームの制御: API とイベントのボリュームは管理可能で予測可能であるため、モデルのトレーニングと分析のための信頼性の高いデータを確保できます。
- 関連性の向上: より完全で可能性の高い語句を検索するため、SAYE ウィジェットで高品質の商品結果が得られます。
- ROI の向上: コストの削減とユーザー エクスペリエンスの向上により、投資収益率が向上します。
エッジケースに対応する
このアプローチは優れていますが、いくつかのコーナーケースを処理する必要があります。
- 候補がない:
CompleteQueryAPI から候補が返されない場合、ロジックはユーザーの未加工の入力でSearchAPI を呼び出すようにフォールバックする必要があります。 - 部分的なクエリと候補のクエリ: まれに、ユーザーが上位の候補「eye shadow」ではなく、部分的な語句「eye」の結果を表示したい場合があります。これは小さなトレードオフですが、最適化されたアプローチでは、ユーザーの意図を最も優先します。
テスト ID で成功を測定する
選択する実装に関係なく、メインの検索結果ページとは別に SAYE ウィジェットのパフォーマンスを測定することが重要です。両方に同じトラッキングを使用すると、SAYE 機能がクリック率とコンバージョンを実際に改善しているかどうかを判断できません。
SAYE ウィジェットのクリックスルー率とコンバージョン率を測定するには、検索イベントで個別の experimentIds を使用して、これらの指標をメインの検索イベントの指標と区別します。
- SAYE イベント: 入力中の検索機能から発生するすべての検索イベントに、
"experimentId": "saye-widget"などの特定の ID を割り当てます。 - メインの検索イベント: ユーザーが [Enter] キーを押すか [検索] をクリックしてメインの検索結果ページに移動したときに開始された検索には、別の ID(または ID なし)を使用します。
このようにイベントをセグメント化すると、Vertex AI コンソールの分析ダッシュボードを使用して、SAYE ウィジェットのパフォーマンスを標準の検索エクスペリエンスと比較してフィルタリングし、明確で実用的な分析情報を得ることができます。
まとめ
Vertex AI Search for Commerce には、入力中の検索エクスペリエンスを作成するためのコンポーネントが用意されています。CompleteQuery API と Search API の間のインタラクションを設計するアーキテクトとして機能することで、ユーザー エクスペリエンスとパフォーマンスの橋渡しとなる検索機能を構築できます。ほとんどのユースケースでは、最適化されたアプローチにより、コンピューティング負荷の高いオペレーションを回避しながら、ユーザーに関連するエクスペリエンスを提供できます。