Obtenir des résultats de recherche

Cette page décrit les requêtes de base avec la recherche, y compris les recherches par requête textuelle, les recherches par navigation, la pagination, l'optimisation et les résultats personnalisés.

Ne mettez jamais en cache les résultats personnalisés d'un utilisateur final et ne les renvoyez jamais. les résultats à un autre utilisateur final.

La recherche propose à la fois des fonctionnalités de recherche par requête textuelle et de recherche par navigation.

Dans le cas d'utilisation de la recherche textuelle, un acheteur peut saisir une requête textuelle sur votre site. La recherche renvoie une réponse contenant les produits qui correspondent aux paramètres des commandes que vous avez configurées, triés par pertinence et maximisation des revenus.

Dans le cas d'utilisation de la navigation, un acheteur peut accéder au menu de votre site accéder à une catégorie de produits spécifique. La recherche choisit automatiquement l'ordre de tri le plus rentable en apprenant du comportement et des tendances des utilisateurs. Les résultats de navigation peuvent être encore affinés grâce aux commandes que vous avez définies. vers le haut.

Les requêtes de recherche de texte et de recherche par navigation utilisent la méthode servingConfigs.search.

Recherches de requêtes textuelles

Lorsqu'un utilisateur saisit une requête textuelle pour effectuer une recherche sur votre site, la recherche trie les résultats potentiels en fonction de leur pertinence, de leur popularité, de leur facilité d'achat et de leur personnalisation.

La recherche considère une requête servingConfigs.search comme requête de recherche textuelle si le champ query n'est pas vide.

Lors de l'importation d'un événement utilisateur, envoyez les événements de recherche de requête textuelle générés par rechercher en tant qu'événements utilisateur search. Si l'événement n'est pas vide champ userEvent.searchQuery et un champ userEvent.pageCategories vide, Search le considère comme un événement de recherche basée sur du texte.

Parcourir les recherches

En règle générale, la navigation sur le site pour parcourir les produits produit des résultats de même pertinence ou triés par articles les plus vendus. La recherche utilise l'IA pour optimiser le tri des résultats de recherche en tenant compte de la popularité, de la possibilité d'achat et de la personnalisation.

Lorsque la méthode servingConfigs.search envoie une requête, la recherche la considère comme une requête de recherche par navigation si le champ query est vide. Dans ce cas, les résultats sont basés sur les filter et pageCategories, ainsi qu'une optimisation et une personnalisation plus poussées disponibles.

Lorsque vous importez un événement utilisateur, assurez-vous d'envoyer les événements de recherche de navigation générés par la recherche en tant qu'événements utilisateur search. La recherche considère un événement utilisateur search comme un événement basé sur la navigation s'il comporte un champ userEvent.searchQuery vide et un champ userEvent.pageCategories non vide.

Afin d'obtenir des résultats de navigation corrects, pageCategories et filter dans vos requêtes de recherche doivent correspondre exactement aux champs pageCategories et Valeurs filter dans les événements utilisateur que vous avez importés. S'ils ne correspondent pas exactement, les données des requêtes de recherche risquent de ne pas être reconnues, ce qui peut avoir un impact négatif sur la qualité des résultats. La recherche par navigation ne reconnaît que la première valeur de catégorie dans pageCategories.

Utilisez des requêtes de recherche pour obtenir des résultats pour les recherches textuelles et les recherches par navigation. Pour effectuer une requête de recherche, utilisez le Méthode servingConfigs.search.

Toutes les requêtes de recherche nécessitent placement, qui identifie le nom complet de la ressource de la configuration de diffusion qui sera utilisée. La configuration de diffusion détermine les paramètres et les commandes associés qui affectent les résultats de recherche.

Les requêtes de recherche de requêtes textuelles nécessitent un champ query non vide.

Veuillez renseigner le champ pageCategories pour les requêtes de recherche de navigation.

Java

import com.google.cloud.retail.v2.SearchRequest;
import com.google.cloud.retail.v2.SearchResponse;
import com.google.cloud.retail.v2.SearchServiceClient;

public static void searchProducts(String query) throws IOException, InterruptedException {
  SearchRequest searchRequest = SearchRequest.newBuilder()
      .setPlacement(DEFAULT_SEARCH_PLACEMENT_NAME)
      .setBranch(DEFAULT_BRANCH_NAME)
      .setVisitorId(VISITOR_ID)
      .setQuery(query)
      .build();

  try (SearchServiceClient searchClient = SearchServiceClient.create()) {
    SearchResponse response = searchClient.search(searchRequest).getPage().getResponse();
    System.out.println("Search response: " + searchResponse);
  }
}

Par défaut, un nombre raisonnable de résultats triés par pertinence est renvoyé.

Pour que la réponse de recherche renvoyée contienne également des attributs produit, veillez à fournir des valeurs d'attributs lorsque vous importez vos données de catalogue. Product possède des attributs système prédéfinis (marque, couleur et taille par exemple) pour lesquels vous pouvez fournir des valeurs. Vous pouvez également inclure des attributs personnalisés que vous définissez avec Product.attributes.

Effectuer des requêtes

Ce tutoriel vous explique comment envoyer une requête de recherche textuelle au service Vertex AI Search for retail et analyser la réponse.


Pour obtenir des instructions détaillées sur cette tâche directement dans l'éditeur Cloud Shell, cliquez sur Visite guidée :

Visite guidée


Pagination

Utilisez la pagination pour réduire le temps de recherche et la taille des réponses envoyées.

Utiliser la pagination

Ce tutoriel explique comment contrôler la pagination dans une requête de recherche textuelle. Lorsqu'un client recherche des produits dans une boutique, il peut améliorer sa navigation grâce aux résultats de recherche. Par exemple, il peut limiter le nombre d'éléments dans la réponse de recherche à l'aide de la fonctionnalité de taille de page ou accéder à la page de son choix à l'aide de la fonctionnalité de décalage.


Pour obtenir des instructions détaillées sur cette tâche directement dans l'éditeur Cloud Shell, cliquez sur Visite guidée :

Visite guidée


Paginer

Pour passer d'une page à une autre, utilisez page_token ou offset suivant votre cas d'utilisation.

Pour passer à la page suivante, vous pouvez utiliser page_token. Par exemple, supposons que vous envoyez l'élément SearchRequest suivant.

JSON

{
  placement: 'projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/placements/default_search'
  visitor_id: 'VISITOR_ID'
  query: 'shoes'
  page_size: 5
}

Dans SearchResponse, vous pouvez obtenir les cinq produits les plus pertinents ainsi qu'un jeton next_page_token.

JSON

{
  results: [
    products{...}, products{...}, products{...}, products{...}, products{...}
  ]
  next_page_token: "wY4ETNkBDOlVjZ0YWLzUmM40SMhVjMtADMwATL5UGN5MGZlVDJaIQ5LaYsQUw9fC6lIwgE1EgC"
  total_size: 100
  search_token: "NtQKDAiXt4_3BRDCg_jnARABGiQ1ZWRjOTRlOC0wMDAwLTI1YTEtODJlMy1mNGY1ZTgwZDUxOGM"
}

Pour obtenir les cinq produits les plus pertinents suivants (du 6e au 10e), définissez page_token avec le même placement, visitor_id et query que next_page_token à partir du SearchResponse précédent.

Java

import com.google.cloud.retail.v2.SearchRequest;
import com.google.cloud.retail.v2.SearchResponse;
import com.google.cloud.retail.v2.SearchServiceClient;

public static void searchProducts_withNextPageToken(String query, int pageSize)
    throws IOException, InterruptedException {
  try (SearchServiceClient searchClient = SearchServiceClient.create()) {
    SearchRequest firstRequest = SearchRequest.newBuilder()
        .setPlacement(DEFAULT_SEARCH_PLACEMENT_NAME)
        .setBranch(DEFAULT_BRANCH_NAME)
        .setVisitorId(VISITOR_ID)
        .setQuery(query)
        .setPageSize(pageSize)
        .build();

    SearchResponse firstResponse = searchClient.search(firstRequest).getPage()
        .getResponse();
    System.out.println("First search response: " + firstResponse);

    SearchRequest secondRequest = SearchRequest.newBuilder()
        .setPlacement(DEFAULT_SEARCH_PLACEMENT_NAME)
        .setBranch(DEFAULT_BRANCH_NAME)
        .setVisitorId(VISITOR_ID)
        .setQuery(query)
        .setPageSize(pageSize)
        .setPageToken(firstResponse.getNextPageToken())
        .build();

    SearchResponse secondResponse = searchClient.search(secondRequest).getPage()
        .getResponse();
    System.out.println("Second search response: " + secondResponse);
  }
}

Dans cet exemple, SearchRequest ressemble à ceci :

JSON

{
  placement: 'projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/placements/default_search'
  visitor_id: 'VISITOR_ID'
  query: 'shoes'
  page_size: 5
  page_token: "wY4ETNkBDOlVjZ0YWLzUmM40SMhVjMtADMwATL5UGN5MGZlVDJaIQ5LaYsQUw9fC6lIwgE1EgC"
}

Dans d'autres cas de figure, au lieu de naviguer d'une page à l'autre ou d'obtenir les résultats ayant une pertinence maximale, vous pouvez souhaiter accéder directement à une position donnée à l'aide de offset.

Java

import com.google.cloud.retail.v2.SearchRequest;
import com.google.cloud.retail.v2.SearchResponse;
import com.google.cloud.retail.v2.SearchServiceClient;

public static void searchProducts_withOffset(String query, int pageSize,
    int offset) throws IOException, InterruptedException {
  SearchRequest searchRequest = SearchRequest.newBuilder()
      .setPlacement(DEFAULT_SEARCH_PLACEMENT_NAME)
      .setBranch(DEFAULT_BRANCH_NAME)
      .setVisitorId(VISITOR_ID)
      .setQuery(query)
      .setPageSize(pageSize)
      .setOffset(offset)
      .build();

  try (SearchServiceClient searchClient = SearchServiceClient.create()) {
    SearchResponse response = searchClient.search(searchRequest).getPage().getResponse();
    System.out.println("Search response: " + searchResponse);
  }
}

Par exemple, si vous souhaitez accéder à la 10e page de résultats, chaque page comportant cinq résultats, vous pouvez définir la valeur offset sur 45, qui correspond à (10 - 1) * 5.

JSON

{
  placement: 'projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/placements/default_search'
  visitor_id: 'VISITOR_ID'
  query: 'shoes'
  page_size: 5
  offset: 45
}

Niveaux de performances de la recherche

Le Réseau de Recherche propose plusieurs niveaux de performances pour améliorer vos résultats. Par exemple, pour les cas d'utilisation de la recherche textuelle, peuvent uniquement se baser sur la pertinence. À mesure que vous profitez de performances plus avancées la recherche peut renvoyer des résultats basés sur la pertinence, la popularité, l'optimisation des revenus et la personnalisation.

Le Réseau de Recherche débloque automatiquement des niveaux de performances plus élevés lorsque vous importez des données de catalogue et d'événements utilisateur qui répondent aux exigences minimales de chaque niveau.

La page Qualité des données la console Search for Retail vous permet d'évaluer quels que vous remplissez pour chaque niveau. Pour en savoir plus sur l'utilisation de cette page pour afficher les niveaux de qualité des données et de performances de recherche, consultez Débloquer les niveaux de performances de recherche.

Évaluer la recherche de texte et parcourir les résultats

Avant de mettre à jour le code de votre site Web pour demander la recherche textuelle ou la recherche par navigation vous pouvez les prévisualiser pour vérifier que votre configuration de diffusion fonctionne comme prévu.

Pour en savoir plus sur les configurations de diffusion, consultez la section À propos des configurations de diffusion.

Vous pouvez prévisualiser les résultats de la configuration de diffusion sur la page Évaluer ou en d'accéder à la page Détails d'une configuration de diffusion dans la console et de cliquer sur son Onglet Évaluation. Pour afficher un aperçu à partir de la Évaluer.

Pour prévisualiser les résultats renvoyés par votre configuration de diffusion :

  1. Accédez à la page Évaluer dans la console de la recherche pour le commerce.

    Accéder à la page "Évaluer"

  2. Cliquez sur l'onglet Rechercher.

  3. Sélectionnez la configuration de diffusion que vous souhaitez prévisualiser.

  4. Sélectionnez la branche de catalogue qui contient le catalogue que vous souhaitez prévisualiser.

  5. Facultatif: saisissez un ID de visiteur pour prévisualiser les résultats de recherche pour cet utilisateur.

  6. (Facultatif) Saisissez un ID utilisateur pour prévisualiser les résultats de recherche de cet utilisateur.

  7. (Facultatif) Saisissez une heure de recherche pour prévisualiser les résultats de recherche qui s'afficheraient à l'heure spécifiée.

    Par exemple, si vous avez fait la promotion de certains produits à l'occasion du Black Friday, peuvent voir les résultats tels qu'ils apparaissaient ce jour-là.

  8. Facultatif : Sélectionnez les facettes à afficher à côté des résultats de recherche, puis cliquez sur OK pour les appliquer.

    Les attributs que vous sélectionnez sont utilisés pour générer une liste de filtres d'attributs qui s'affichent sous Ajouter des attributs après la recherche initiale. Ces filtres de facettes peuvent inclure d'autres facettes que celles que vous sélectionnez à cette étape, telles que des facettes dynamiques.

  9. Saisissez une requête de recherche textuelle pour afficher un aperçu des résultats de recherche correspondants.

  10. Cliquez sur Rechercher un aperçu ou appuyez sur Entrée dans l'un des champs de saisie pour afficher la résultats.

    Les résultats de recherche s'affichent avec les vignettes disponibles.

    Si votre recherche déclenche une commande de redirection, une notification s'affiche et affiche l'URI de redirection.

  11. Facultatif: Cliquez sur l'icône Grille ou Liste pour modifier la façon dont les résultats de recherche s'affichent dans l'aperçu.

  12. Facultatif : Si vous avez sélectionné des attributs à afficher à côté de vos résultats, sélectionnez une ou plusieurs valeurs d'attribut dans la liste des attributs pour filtrer les résultats en fonction de ces valeurs. Les résultats sont automatiquement mis à jour une fois le filtre sélectionné.

    Lorsque vous sélectionnez plusieurs valeurs d'un même attribut, elles sont appliquées comme un opérateur OR, et les valeurs de différents attributs sont appliquées comme un opérateur AND. Par exemple, après avoir sélectionné les attributs "couleur" et les valeurs "bleu" et "or", ainsi que les valeurs de matière "coton" et "polyester". Les résultats de recherche doivent s'afficher en bleu. ou "or" comme attribut et doit également comporter la valeur "coton" ou "polyester" en tant que .

Parcourir

  1. Accédez à la page Évaluer de la console Search for Retail.

    Accéder à la page "Évaluation"

  2. Cliquez sur l'onglet Parcourir.

  1. Sélectionnez la configuration de diffusion que vous souhaitez prévisualiser.

  2. Sélectionnez la branche de catalogue qui contient le catalogue que vous souhaitez prévisualiser.

  3. Facultatif: saisissez un ID de visiteur pour prévisualiser les résultats pour cet utilisateur.

  4. Facultatif: saisissez un ID utilisateur pour prévisualiser les résultats pour cet utilisateur.

  5. Pour obtenir un aperçu des résultats si vous ajoutez un filtre spécifique, saisissez une chaîne de filtre. Utilisez la syntaxe d'expression de filtre spécifiée dans la documentation sur les filtres.

  6. Facultatif: saisissez une durée de navigation pour prévisualiser les résultats à l'heure spécifiée.

    Par exemple, si vous avez fait la promotion de certains produits à l'occasion du Black Friday, peuvent voir les résultats tels qu'ils apparaissaient ce jour-là.

  7. Saisissez la catégorie de pages pour laquelle vous testez les résultats de recherche.

  8. Facultatif: Sélectionnez les attributs à afficher à côté des résultats et cliquez sur OK pour les appliquer.

    Les attributs que vous sélectionnez sont utilisés pour générer une liste de filtres d'attributs qui s'affichent sous Ajouter des attributs après la recherche initiale. Ces filtres de facettes peuvent inclure d'autres facettes que celles que vous sélectionnez à cette étape, telles que les facettes dynamiques.

  9. Cliquez sur Parcourir l'aperçu ou appuyez sur Entrée dans l'un des champs de saisie pour afficher la résultats.

    Les résultats s'affichent avec les miniatures disponibles.

  10. Facultatif: Cliquez sur l'icône Grille ou Liste pour modifier la façon dont les résultats s'affichent dans l'aperçu.

  11. Facultatif : Si vous avez sélectionné des attributs à afficher à côté de vos résultats, sélectionnez une ou plusieurs valeurs d'attribut dans la liste des attributs pour filtrer les résultats en fonction de ces valeurs. Les résultats sont automatiquement mis à jour dès la sélection.

    Lorsque vous sélectionnez plusieurs valeurs d'un même attribut, elles sont appliquées comme un opérateur OR, et les valeurs de différents attributs sont appliquées comme un opérateur AND. Par exemple, après avoir sélectionné les attributs "couleur", et "matière", vous pouvez filtrer les résultats en sélectionnant valeurs de couleur "bleu" et "gold", et les valeurs de matière "cotton" et "polyester". Les résultats doivent apparaître en bleu. ou "or" en tant que et doit également comporter la valeur "coton". ou "polyester" en tant que .

Pour afficher la page Détails de la configuration de diffusion que vous prévisualisez, cliquez sur Affichez la configuration de diffusion sous le champ Sélectionner une configuration de diffusion.