Afficher les résultats de recherche pour les applications multimédias

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

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 :

  1. Dans la console Google Cloud , accédez à la page AI Applications.

    AI Applications

  2. Cliquez sur le nom de l'application de recherche multimédia.

  3. Cliquez sur Configurations.

  4. Cliquez sur l'onglet UI.

  5. Dans l'onglet UI (Interface utilisateur), définissez les options Configurations générales et Affichage des données.

  6. Dans le volet Aperçu, commencez à saisir une requête.

  7. 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 :

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

    1. Dans la console Google Cloud , accédez à la page AI Applications.

      Accédez à "Applications".

    2. Sur la page Applications, recherchez le nom de votre application et récupérez son ID dans la colonne ID.

  2. 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 champ searchAsYouTypeSpec. 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 partielles
      • DISABLED : pour les requêtes complètes
      • AUTO : pour une couverture partielle ou complète, selon ce qui est jugé approprié. Si vous laissez le champ SPEC_CONDITION vide ou si vous ne le spécifiez pas, le mode de recherche par défaut est AUTO.

    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": {} }

Étapes suivantes