Cette page explique comment prévisualiser les résultats de recherche pour les applications multimédias à l'aide de la Google Cloud console 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'ensemble de leur terme ou expression de recherche soit recherché. 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 lorsque vous utilisez une interface d'entrée qui permet aux utilisateurs d'effectuer une recherche en une seule fois, comme une entrée audio ou une entrée 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 pour les 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 données.
Requêtes partielles (ou recherche instantanée) : lorsque les utilisateurs finaux reçoivent dynamiquement un nouvel ensemble de résultats de recherche à 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 un mélange des modes complet et partiel. Avec le mode automatique, vous laissez la recherche multimédia décider si elle doit renvoyer les résultats de la requête de manière partielle ou complète.
Pour déterminer l'intention probable des utilisateurs finaux, la recherche multimédia analyse et pondère différents signaux, tels que le nombre de lettres saisies, la vitesse de saisie et si l'entrée est une entité reconnue (par exemple, le nom d'un acteur ou d'un film).
Mode à utiliser
Le mode par défaut pour les requêtes de recherche multimédia 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 certain 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 destinées à être des requêtes partielles, c'est-à-dire qu'ils s'attendent à ce que la liste de 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 elle doit renvoyer les résultats de la requête de manière partielle ou complète. | Auto |
Obtenir des résultats de recherche pour une application multimédia
Vous pouvez prévisualiser les résultats de recherche à partir de la Google Cloud console ou obtenir des résultats de recherche à l'aide de l'API. Pour obtenir des résultats de recherche pour une application multimédia :
Console
Pour utiliser la Google Cloud console afin de prévisualiser la recherche multimédia et de configurer un widget :
Dans la Google Cloud console, accédez à la page Applications d'IA.
Cliquez sur le nom de l'application de recherche multimédia.
Cliquez sur Configurations.
Cliquez sur l'onglet UI (Interface utilisateur).
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 des résultats de recherche pour une application multimédia :
Trouvez 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 obtenez son ID dans la colonne ID.
Exécutez la commande curl suivante pour obtenir des résultats de recherche instantanée.
Tous les champs, à l'exception de
contentSearchSpec, peuvent être utilisés conjointement avec le champsearchAsYouTypeSpec. Par souci 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 Google Cloud projet.PROJECT_ID: ID de votre Google Cloud projet.APP_ID: ID de l'application Agent Search que vous souhaitez interroger.QUERY: texte de la requête à rechercher.SPEC_CONDITION: la spécification de recherche instantanée peut prendre l'une des valeurs suivantes :ENABLED: pour les requêtes partiellesDISABLED: pour les requêtes complètesAUTO: pour les requêtes partielles ou complètes, selon le cas. Si vous laissez le champSPEC_CONDITIONvide ou si vous ne le spécifiez pas, le mode de recherche par défaut estAUTO.
Exemple de commande et 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": {} }