Trier les résultats à partir de data stores structurés

Le classement est un type de mécanisme de classement qui modifie de manière dynamique la séquence dans laquelle les résultats sont renvoyés après un classement initial établi lors du processus de récupération. Lors de la récupération, la recherche d'agent récupère les documents pertinents du data store par milliers (en fonction de la taille du data store). Ensuite, les meilleurs résultats sont affichés en fonction de la condition spécifiée pour le re-classement. Pour en savoir plus, consultez À propos de la récupération et du classement.

Cette page explique comment classer les résultats d'une requête de recherche effectuée sur des datastores de données structurées et sur des datastores de données non structurées avec des métadonnées.

Types de données compatibles pour le classement des résultats

Voici les types de champs selon lesquels vous pouvez classer vos résultats de recherche :

  • string
  • number
  • datetime
  • geolocation

Avant de commencer

Assurez-vous de disposer d'une application avec un data store contenant des données structurées ou des données non structurées avec des métadonnées.

Classer vos résultats de recherche

Pour classer les résultats de recherche d'un data store structurées ou d'un data store non structurées avec des métadonnées, procédez comme suit :

REST

Pour utiliser l'API afin de classer les résultats de recherche d'une application avec des données structurées ou des données non structurées avec des métadonnées, utilisez la engines.servingConfigs.search méthode :

  1. Recherchez l'ID de votre application. Si vous disposez déjà de l'ID de votre application, passez à l'étape suivante.

    1. Dans la Google Cloud console, accédez à la page Applications d'IA.

      Accédez à "Applications".

    2. Sur la page Applications, recherchez le nom de votre application et retrouvez son ID dans la colonne ID.

  2. Effectuez une requête de recherche et incluez le champ orderBy.

    curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/servingConfigs/default_search:search" \
    -d '{
    "servingConfig": "projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/servingConfigs/default_search",
    "query": "QUERY",
    "orderBy": "ORDER_BY"
    }'
    

    Remplacez les éléments suivants :

    • PROJECT_ID : ID de votre Google Cloud projet.
    • APP_ID : ID de l'application de recherche d'agent.
    • QUERY : texte de la requête à rechercher.
    • ORDER_BY : ordre dans lequel les résultats sont organisés. L'ordre de tri par défaut est croissant. Par exemple, si vous spécifiez date , les résultats sont renvoyés du plus ancien au plus récent. Pour obtenir un ordre de tri décroissant, ajoutez desc à la valeur date (par exemple, date desc). Pour obtenir d'autres exemples, consultez orderBy exemples.

Exemples orderBy

Pour classer un champ de chaîne appelé title :

  • "orderBy": "title" pour renvoyer les documents par ordre alphabétique croissant en fonction du titre.

  • "orderBy": "title desc" pour renvoyer les documents triés par ordre alphabétique inverse (de Z à A) en fonction du titre.

Pour classer un champ numérique appelé rating :

  • "orderBy": "rating" pour classer les documents du moins bien noté au mieux noté.

  • "orderBy": "rating desc" pour classer les documents du mieux noté au moins bien noté.

Pour classer un champ de date et d'heure appelé available_date :

  • "orderBy": "available_date" pour classer les documents du plus tôt disponible au plus tard.

  • "orderBy": "available_date desc" pour classer les documents de celui dont la date de disponibilité est la plus éloignée à celui dont la date de disponibilité est la plus proche.

Pour classer en fonction de la géolocalisation dans un champ appelé location :

  • "orderBy": "GEO_DISTANCE(location, \"Mountain View, CA\")" trie les documents par ordre de proximité avec Mountain View.

  • "orderBy": "GEO_DISTANCE(location, 37.38, -122.08) desc" trie les documents par ordre de distance par rapport à l'emplacement 37,38° N et 122,08° O.