Rechercher et parcourir

Ce document vise à clarifier les différences entre les fonctionnalités de recherche et de navigation dans AI Commerce Search afin d'expliquer comment configurer chacune d'elles efficacement et en tirer le meilleur parti.

Comprendre les différences fondamentales

Bien que la recherche et la navigation aident les clients à trouver des produits, elles s'adressent à des parcours utilisateur différents et nécessitent des configurations distinctes.

Basée sur l'intention utilisateur, où un acheteur saisit une requête spécifique, par exemple chaussures de course rouges. AI Commerce Search analyse cette requête pour comprendre les besoins de l'utilisateur et renvoie des produits pertinents optimisés pour les revenus.

En bref, pour la recherche, AI Commerce Search est responsable de la pertinence des produits et de leur classement (optimisé pour les revenus).

Parcourir

La navigation est guidée par des catégories prédéfinies, dans lesquelles un acheteur parcourt des fiches produit organisées par attributs tels que la marque, la catégorie ou les promotions, par exemple Chemises dans la catégorie Vêtements pour hommes. Vous définissez ces catégories et les produits qui y sont affichés.

Vous êtes responsable de la pertinence des produits listés (via des filtres), et AI Commerce Search est responsable de leur classement (optimisé pour les revenus).

Configurer la recherche et la navigation

L'avantage d'AI Commerce Search réside dans son API unifiée pour les requêtes de recherche et de navigation.

Configurer la recherche

Les événements utilisateur pour la recherche doivent comporter ces champs, ainsi que d'autres champs obligatoires standards pour les événements utilisateur (eventType = "search") :

  • Requête textuelle : élément central d'une requête de recherche. Elle capture l'intention de recherche de l'utilisateur.
  • Filtres (facultatif) : permettent aux utilisateurs d'affiner les résultats de recherche en appliquant des attributs tels que la marque, la gamme de prix ou la couleur.
  • Classement et personnalisation : AI Commerce Search optimise automatiquement le classement des résultats de recherche en fonction de la pertinence et des revenus potentiels. La personnalisation adapte davantage les résultats en fonction du comportement individuel de l'utilisateur.

  # 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)

Pour les requêtes de base avec la recherche, y compris les recherches de requêtes textuelles, les recherches de navigation, la pagination, l’optimisation et les résultats personnalisés, consultez Obtenir des résultats de recherche.

Configurer la navigation

Les événements utilisateur pour les recherches de navigation doivent comporter ces champs, ainsi que d'autres champs obligatoires standards pour les événements utilisateur (eventType = "search" pour les événements de navigation) :

  • Catégories de pages : page_categories représente la catégorie ou la bannière sous laquelle les produits apparaissent. Toutefois, dans les bibliothèques clientes physiques ou les anciennes API, ce champ peut toujours apparaître sous la forme du singulier page_category. Le pluriel peut éventuellement être identique à categories[] dans le catalogue. Il doit simplement représenter la catégorie que le filtre représente.

  • Filtre obligatoire : définit les critères d'inclusion des produits dans les résultats de navigation. Cela garantit que seuls les produits pertinents apparaissent dans la catégorie.

  • Alignement entre l'événement et la requête : l'événement utilisateur correspondant à l'action de navigation doit contenir les mêmes valeurs page_categories et de filtre que celles transmises dans la requête API.

  • Navigation et filtre définis avec la même valeur : pour définir les champs pageCategories (navigation) et attributes.pageCategories (filtre) avec la même valeur, créez un objet attributes.pageCategories non recherchable et listez toutes les pages dans lesquelles ce produit doit apparaître pour faciliter le filtrage.

Pour les filtres de navigation, les champs tels que category ou categoryid, comme illustré dans ces exemples, sont généralement des attributs personnalisés que vous fournissez.

Voici les quatre exemples mentionnés ci-dessus des différentes options de requête de navigation. (Il vous suffit de choisir un format.)

  # 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)