Cette page explique comment prévisualiser les résultats de recherche pour les applications multimédias à l'aide de la consoleGoogle Cloud et comment obtenir des résultats de recherche à l'aide de l'API.
Pour implémenter l'application de recherche, vous pouvez créer un widget de recherche à ajouter à votre page Web, ou effectuer des appels d'API et les intégrer à votre page Web ou application.
À propos des modes de recherche
Il existe plusieurs modes de requête de recherche pour les applications multimédias :
Requêtes complètes : lorsque les utilisateurs finaux souhaitent que l'intégralité de leur terme ou expression de recherche soit recherchée. Par exemple, dans une application de streaming musical, les utilisateurs saisissent le titre complet du titre et le recherchent en une seule fois. Il s'agit d'une méthode de recherche privilégiée lorsqu'ils utilisent une interface de saisie qui leur permet de rechercher en une seule fois, comme la saisie audio ou au clavier.
Dans les requêtes complètes, si l'entrée comporte une faute d'orthographe, les utilisateurs s'attendent à ce qu'elle soit corrigée.
Ce comportement est identique à celui de la recherche d'applications non multimédias (personnalisées). Consultez Obtenir des résultats de recherche pour une application avec des données structurées ou non structurées.
Requêtes partielles (ou saisie semi-automatique) : les utilisateurs finaux reçoivent un nouvel ensemble de résultats de recherche de manière dynamique à mesure qu'ils saisissent chaque lettre. Par exemple, dans une application de streaming musical, les utilisateurs commencent à saisir le nom du titre qu'ils recherchent. À chaque lettre qu'ils saisissent, les résultats de recherche sont mis à jour et affinés de manière dynamique.
Mode automatique : le mode automatique est une combinaison des modes complet et partiel. En mode automatique, vous laissez la recherche multimédia décider si les résultats de la requête doivent être partiels ou complets.
Pour déterminer l'intention probable des utilisateurs finaux, la recherche de contenus multimédias analyse et pondère différents signaux, tels que le nombre de lettres saisies, la vitesse de saisie et si la saisie est une entité reconnue (par exemple, le nom d'un acteur ou d'un film).
Quel mode utiliser ?
Le mode par défaut pour les requêtes de recherche de contenus multimédias est le mode automatique. Toutefois, dans certains cas, vous pouvez choisir de remplacer le mode par défaut et de spécifier le mode de requête complet ou partiel. Voici quelques exemples de cas d'utilisation :
Scénario | Mode |
---|---|
Vous êtes très confiant que les requêtes de vos utilisateurs finaux sont des requêtes complètes. Par exemple, vous disposez d'un champ de recherche qui inclut une fonction "Entrée" pour marquer la requête comme terminée, et l'utilisateur appuie sur Entrée. | Requêtes complètes |
Vous êtes certain que les requêtes de vos utilisateurs finaux sont des requêtes partielles, c'est-à-dire qu'ils s'attendent à ce que la liste des résultats soit mise à jour après chaque lettre saisie. | Requêtes partielles |
Aucun des scénarios ci-dessus ne s'applique. Laissez la recherche multimédia décider si les résultats de la requête doivent être partiels ou complets. | Auto |
Obtenir des résultats de recherche pour une application multimédia
Vous pouvez prévisualiser les résultats de recherche depuis la console Google Cloud ou les obtenir à l'aide de l'API. Pour obtenir des résultats de recherche pour une application multimédia :
Console
Pour utiliser la console Google Cloud afin de prévisualiser la recherche de contenu multimédia et de configurer un widget :
Dans la console Google Cloud , accédez à la page AI Applications.
Cliquez sur le nom de l'application de recherche multimédia.
Cliquez sur Configurations.
Cliquez sur l'onglet UI.
Dans l'onglet UI (Interface utilisateur), définissez les options Configurations générales et Affichage des données.
Dans le volet Aperçu, commencez à saisir une requête.
Pour enregistrer les configurations et les rendre disponibles dans l'onglet Intégration, cliquez sur Enregistrer et publier.
REST
Utilisez la méthode engines.servingConfigs.search
pour obtenir les résultats de recherche d'une application multimédia :
Trouvez l'ID de votre application. Si vous avez déjà votre ID d'application, passez à l'étape suivante.
Dans la console Google Cloud , accédez à la page AI Applications.
Sur la page Applications, recherchez le nom de votre application et récupérez son ID dans la colonne ID.
Exécutez la commande curl suivante pour obtenir des résultats de recherche à mesure de la saisie.
Tous les champs, à l'exception de
contentSearchSpec
, peuvent être utilisés conjointement avec le champsearchAsYouTypeSpec
. Pour plus de clarté, les champs facultatifs ont été omis de la commande curl. Pour les champs facultatifs, consultez Obtenir des résultats de recherche pour une application avec des données structurées ou non structurées.curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/servingConfigs/default_search:search" \ -d '{ "query": "QUERY", "searchAsYouTypeSpec": {"condition": "SPEC_CONDITION"} }'
Remplacez les éléments suivants :
PROJECT_ID
: ID de votre projet Google Cloud .PROJECT_ID
: ID de votre projet Google Cloud .APP_ID
: ID de l'application Vertex AI Search que vous souhaitez interroger.QUERY
: texte de la requête à rechercher.SPEC_CONDITION
: la spécification de la saisie semi-automatique peut avoir l'une des valeurs suivantes :ENABLED
: pour les requêtes partiellesDISABLED
: pour les requêtes complètesAUTO
: pour une couverture partielle ou complète, selon ce qui est jugé approprié. Si vous laissez le champSPEC_CONDITION
vide ou si vous ne le spécifiez pas, le mode de recherche par défaut estAUTO
.
Exemple de commande et de résultat partiel
curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1/projects/my-project-123/locations/global/collections/default_collection/engines/my-app/servingConfigs/default_search:search" \ -d '{ "query": "Mission Impossible", "searchAsYouTypeSpec": {"condition": "DISABLED"} }'
{ "results": [ { "id": "189333", "document": { "name": "projects/123456/locations/global/collections/default_collection/dataStores/my-data-store/branches/0/documents/189333", "id": "189333", "structData": { "uri": "http://mytestdomain.movie/content/189333", "title": "Mission: Impossible - Fallout (2018)", "categories": [ "Action", "Adventure", "Thriller" ], "available_time": "2023-01-01T00:00:00Z", "media_type": "movie", "expire_time": "2033-01-01T00:00:00Z" } } }, { "id": "111781", "document": { "name": "projects/123456/locations/global/collections/default_collection/dataStores/my-data-store/branches/0/documents/111781", "id": "111781", "structData": { "media_type": "movie", "available_time": "2023-01-01T00:00:00Z", "uri": "http://mytestdomain.movie/content/111781", "title": "Mission: Impossible - Rogue Nation (2015)", "categories": [ "Action", "Adventure", "Thriller" ], "expire_time": "2033-01-01T00:00:00Z" } } }, ... { "id": "116507", "document": { "name": "projects/123456/locations/global/collections/default_collection/dataStores/my-data-store/branches/0/documents/116507", "id": "116507", "structData": { "uri": "http://mytestdomain.movie/content/116507", "categories": [ "Comedy" ], "media_type": "movie", "available_time": "2023-01-01T00:00:00Z", "title": "Mission London (2010)", "expire_time": "2033-01-01T00:00:00Z" } } } ], "totalSize": 5628, "attributionToken": "vgL0PQEKDAiZxMbCBhD2koiqAxIkNjg1MWM3OTUtMDAwMC0yOWVmLThhNzUtZDQzYTJjYzdiYmNmIgVNRURJQSpUtreMLa_WoTGs1qExwvCeFaOAlyKrtZwxxcvzF-7r6TGotZwxkPeyMI6RyTDPv-Iw1L_iMJvWty2Ovp0V1LKdFfHr6THs4K8tkvGsMJXxrDCY1rctMAFKEjB4OTYzYjdjNGE0ZGYwN2FhZlKUAXByb2plY3RzLzc1NjIwNjYwODQ3OS9sb2NhdGlvbnMvZ2xvYmFsL2NvbGxlY3Rpb25zL2RlZmF1bHRfY29sbGVjdGlvbi9lbmdpbmVzL3F1aWNrc3RhcnQtbWVkaWEtcmVjb21tZW5kXzE3NDUwMjUyMjYwNDMvc2VydmluZ0NvbmZpZ3MvZGVmYXVsdF9zZWFyY2g", "nextPageToken": "Y2YiJ2NjNmMhNDNk1SN3EGOtYWZ5ITLwADMw0CN5czYxUDO2QiGDI9kgzIEGIs1tmJCMIBM1IgC", "summary": {}, "queryExpansionInfo": {} }