Obtenir des résultats de recherche

Cette page décrit les requêtes de base avec la recherche, y compris le texte les recherches de requêtes, les recherches de navigation, la pagination, l'optimisation et des 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.

À propos de la recherche textuelle et de la recherche Parcourir avec la recherche

Le champ "Search" permet à la fois de rechercher des requêtes textuelles et de parcourir les fonctionnalités de recherche.

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 des produits qui correspondent aux paramètres des contrôles que vous avez configurés et qui sont triés par pertinence. et la 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. Rechercher automatiquement choisit l'ordre de tri qui maximise le mieux les revenus en s'appuyant sur le comportement des utilisateurs et les tendances. Les résultats de navigation peuvent être encore affinés grâce aux commandes que vous avez définies. vers le haut.

La recherche textuelle et les requêtes de recherche par navigation utilisent les Méthode servingConfigs.search.

Recherches de requêtes textuelles

Lorsqu'un utilisateur saisit une requête textuelle pour effectuer une recherche sur votre site, trie les résultats de recherche potentiels en fonction de leur pertinence, de leur popularité, du potentiel d'achat et la 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

Généralement, la navigation sur les produits à l'aide de la navigation sur le site produit des résultats qui sont tous de pertinence égale, ou triés par articles les plus vendus. Le Réseau de Recherche optimise la façon dont les résultats de navigation sont optimisés par l'IA sont triés en fonction de leur popularité, de leur potentiel d'achat et de leur personnalisation.

Lorsque la méthode servingConfigs.search envoie une requête, la recherche considère qu'il s'agit d'une requête de recherche de 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, veillez à envoyer les événements de recherche de navigation généré 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 a un champ userEvent.searchQuery vide et un champ non vide userEvent.pageCategories.

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, il est possible que les données des requêtes de recherche ne soient pas reconnues, ce qui peut avoir un impact impacter la qualité des résultats. La recherche par navigation ne reconnaît que la première valeur de catégorie dans pageCategories.

Utilisez les requêtes de recherche pour obtenir des résultats à la fois pour les recherches textuelles et les recherches de 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 et les commandes associées 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 montre comment envoyer une requête de recherche textuelle au Vertex AI Search pour le service 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 acheteur recherche des produits dans un magasin, il peut améliorer sa navigation dans les résultats de recherche. Par exemple, ils peuvent limiter le nombre d'éléments dans la réponse à la recherche à l'aide de la fonctionnalité de taille de page ou accéder à l’aide de la fonction 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 sur le Réseau de 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 en fonction de leur pertinence, la popularité, l'optimisation des revenus et la personnalisation.

La recherche vous donne automatiquement accès à des niveaux de performances plus élevés d'importer des données de catalogue et d'événement utilisateur répondant aux exigences minimales de chaque à un niveau supérieur.

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

Évaluer la recherche textuelle 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 À 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 d'inférence:

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

    Accéder à la page "Évaluation"

  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 pour cet utilisateur.

  7. Facultatif: saisissez une heure de recherche pour afficher un aperçu des résultats de recherche à 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 attributs à afficher à côté des résultats de recherche 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 sous Ajouter des attributs une fois la recherche initiale effectuée. Ces Les filtres d'attributs peuvent inclure des attributs autres que ceux que vous sélectionnez à cette étape, comme les attributs 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 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é les attributs à afficher à côté de vos résultats, sélectionnez une ou plusieurs valeurs d'attribut à partir de la liste d'attributs pour filtrer les résultats en fonction de ces valeurs. Les résultats sont automatiquement mis à jour dès que vous les sélectionnez.

    Lorsque vous sélectionnez plusieurs valeurs du même attribut, elles sont appliquées en tant que L'opérateur OR serait utilisé, et les valeurs des différents attributs sont appliquées en tant que un opérateur AND. Par exemple, après avoir sélectionné les attributs "couleur", et les valeurs "bleu" et "gold", et les valeurs de matière "cotton" 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 section Filtrer.

  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 page pour laquelle vous testez les résultats de navigation.

  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 sous Ajouter des attributs une fois la recherche initiale effectuée. Ces Les filtres d'attributs peuvent inclure des attributs autres que ceux que vous sélectionnez à cette étape, comme les attributs 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 vignettes 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é les attributs à afficher à côté de vos résultats, sélectionnez une ou plusieurs valeurs d'attribut à partir de la liste d'attributs pour filtrer les résultats en fonction de ces valeurs. Les résultats sont automatiquement mis à jour dès que vous les sélectionnez.

    Lorsque vous sélectionnez plusieurs valeurs du même attribut, elles sont appliquées en tant que L'opérateur OR serait utilisé, et les valeurs des différents attributs sont appliquées en tant que 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.