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 :
stringnumberdatetimegeolocation
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 :
Recherchez l'ID de votre application. Si vous disposez déjà de l'ID de votre application, passez à l'étape suivante.
Dans la Google Cloud console, accédez à la page Applications d'IA.
Sur la page Applications, recherchez le nom de votre application et retrouvez son ID dans la colonne ID.
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écifiezdate, les résultats sont renvoyés du plus ancien au plus récent. Pour obtenir un ordre de tri décroissant, ajoutezdescà la valeurdate(par exemple,date desc). Pour obtenir d'autres exemples, consultezorderByexemples.
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.