検索とブラウジング

このドキュメントでは、AI Commerce Search の検索機能とブラウジング機能の違いを明確にし、それぞれを効果的に構成して最大限に活用する方法について説明します。

主な違いを理解する

検索とブラウジングはどちらもお客様が商品を見つけるのに役立ちますが、ユーザー ジャーニーが異なるため、構成も異なります。

ユーザーの意図に基づいて、買い物客が「赤いランニング シューズ」などの特定のクエリを入力します。 AI Commerce Search はこのクエリを分析してユーザーのニーズを把握し、収益を最適化するために関連商品を返します。

つまり、検索の場合、AI Commerce Search は商品の関連性とランキング(収益の最適化 )を担当します。

ブラウジング

事前定義されたカテゴリに基づいて、買い物客がメンズ衣料 カテゴリのシャツ など、ブランド、カテゴリ、プロモーションなどの属性で整理された商品リストを移動します。これらのカテゴリを定義し、その中に商品を表示します。

リストに表示される商品の関連性(フィルタを使用)はユーザーが担当し、ランキング(収益の最適化)は AI Commerce Search が担当します。

検索とブラウジングを構成する

AI Commerce Search の優れた点は、検索リクエストとブラウジング リクエストの両方に統合 API を使用できることです。

検索を構成する

検索のユーザー イベントには、ユーザー イベントの他の標準必須フィールド(eventType = "search")とともに、次のフィールドが必要です。

  • テキストクエリ: 検索リクエストの中核。ユーザーの検索目的を捉えます。
  • フィルタ(省略可): ブランド、価格帯、色などのファセットを適用して、検索結果を絞り込むことができます。
  • ランキングとパーソナライズ: AI Commerce Search は、関連性と潜在的な収益に基づいて検索結果のランキングを自動的に最適化します。パーソナライズにより、個々のユーザーの行動に基づいて結果がさらに調整されます。

  # Construct the search request
  search_request = {
      "query": "red running shoes", # User's search query
      "filter": "brand:ANY('Nike')", # Optional filter
      "page_size": 10 # Number of results per page
  }

# Send the request to the VAIS:Commerce API search_response = client.search(search_request)

# Process the search results for product in search_response.results: print(product.title, product.price)

テキストクエリ検索、ブラウジング検索、ページ分け、最適化、パーソナライズされた結果など、検索の基本的なクエリについては、検索結果を取得するをご覧ください。

ブラウジングを構成する

ブラウジング検索のユーザー イベントには、ユーザー イベントの他の標準必須フィールド(eventType = "search" ブラウジング イベントの場合)とともに、次のフィールドが必要です。

  • ページ カテゴリ: page_categories は、商品が表示されるカテゴリまたはバナーを表します。ただし、物理クライアント ライブラリまたは古い API では、このフィールドは単数形の page_category として表示される場合があります。複数形は、カタログの categories[] と同じにすることもできます。フィルタが表すカテゴリを表す必要があります。

  • 必須フィルタ: ブラウジング結果に含める商品の条件を定義します。これにより、関連する商品のみがカテゴリに表示されます。

  • イベントとリクエストの整合性: ブラウジング アクションに対応するユーザー イベントには、API リクエストで渡されたものと一致する page_categories とフィルタ値が含まれている必要があります。

  • 同じ値で設定されたブラウジングとフィルタ: pageCategories(ブラウジング)フィールドと attributes.pageCategories(フィルタ)フィールドに同じ値を設定するには、検索できない attributes.pageCategories オブジェクトを作成し、この商品が表示されるすべてのページを一覧表示してフィルタリングを容易にします。

ブラウジング フィルタの場合、これらの例に示すように、categorycategoryid などのフィールドは通常、ユーザーが指定するカスタム属性です。

前述のブラウジング リクエスト オプションの 4 つの例を次に示します。(1 つの形式を選択してください)。

  # a browse request with a custom category attribute
  browse_request = {
      "page_categories": ["Men's > Clothing > Shirts"], # Represents full taxonomy Path on the site
      "filter": "category:ANY('Shirts') AND gender: ANY('Male')", # Compulsory filter on custom attribute
      "page_size": 10
  }
  # a browse request showing category ID (Men's shirts custom id)
  browse_request = {
      "page_categories": ["Men's > Clothing > Shirts"],
      "filter": "categoryid:ANY(1234)", # Another custom attribute for categories
      "page_size": 10
  }
  # another example showing category ID's (Men's shirts custom id)
  browse_request = {
      "page_categories": ["1234"],  # Also ok to use unique category id's here
      "filter": "categoryid:ANY(1234)",
      "page_size": 10
  }
  # browse and filter set with the same value
  browse_request = {
      "page_category": ["Men's > Clothing > Shirts"], # Browse category
      "filter": "attributes.pageCategories:ANY('Men's > Clothing > Shirts')", # Compulsory filter
      "page_size": 10 # Number of results per page
  }
  # Send the request to the API
  browse_response = client.search(browse_request)
  # Process the browse results
  for product in browse_response.results:
      print(product.title, product.price)