Nesta página, mostramos como visualizar resultados da pesquisa para apps de mídia usando o consoleGoogle Cloud e como receber resultados da pesquisa usando a API.
Para implementar o app de pesquisa, crie um widget de pesquisa para adicionar à página da Web ou faça chamadas de API e integre-as à página ou ao aplicativo.
Sobre os modos de pesquisa
Há vários modos de consulta de pesquisa para apps de mídia:
Consultas completas: quando os usuários finais querem que todo o termo ou frase de pesquisa seja pesquisado. Por exemplo, em um app de streaming de música, os usuários digitam o título inteiro da música e pesquisam de uma só vez. Essa é uma forma preferida de pesquisa ao usar uma interface de entrada que permite pesquisar de uma só vez, como entrada de áudio ou de teclado.
Em consultas completas, se a entrada incluir um erro ortográfico, os usuários esperam que ele seja corrigido.
Esse é o mesmo comportamento da pesquisa de apps que não são de mídia (personalizados). Consulte Receber resultados da pesquisa para um app com dados estruturados ou não estruturados.
Consultas parciais (ou de pesquisa conforme você digita): quando os usuários finais recebem dinamicamente um novo conjunto de resultados de pesquisa à medida que digitam cada letra. Por exemplo, em um app de streaming de música, os usuários começam a digitar o nome da música que estão procurando. A cada letra digitada, os resultados da pesquisa são atualizados e refinados dinamicamente.
Modo automático: é uma mistura dos modos completo e parcial. No modo automático, você permite que a pesquisa de mídia decida se os resultados da consulta serão retornados como parciais ou completos.
Para determinar a provável intenção dos usuários finais, a pesquisa de mídia analisa e pondera vários indicadores, como o número de letras inseridas, a velocidade de entrada e se a entrada é uma entidade reconhecida, por exemplo, o nome de um ator ou filme.
Qual modo usar
O modo padrão para consultas de pesquisa de mídia é o automático. No entanto, há cenários em que você pode substituir o modo padrão e especificar o modo de consulta completa ou parcial. Confira alguns exemplos de casos de uso:
Cenário | Modo |
---|---|
Você tem muita confiança de que as consultas dos usuários finais são completas. Por exemplo, você tem uma caixa de pesquisa que inclui uma função "Enter" para marcar a consulta como concluída, e o usuário pressiona "Enter". | Consultas completas |
Você tem muita confiança de que as consultas dos usuários finais são parciais, ou seja, eles esperam que a lista de resultados seja atualizada após cada letra digitada. | Consultas parciais |
Nenhum dos cenários acima se aplica. Permite que a pesquisa de mídia decida se vai retornar resultados de consulta parciais ou completos. | Automático |
Receber resultados da pesquisa para um app de mídia
É possível conferir os resultados da pesquisa no console Google Cloud ou usar a API para receber os resultados. Para receber resultados da pesquisa de um app de mídia:
Console
Para usar o console Google Cloud para visualizar a pesquisa de mídia e configurar um widget:
No console Google Cloud , acesse a página Aplicativos de IA.
Clique no nome do app de pesquisa de mídia.
Clique em Configurations.
Clique na guia Interface.
Na guia Interface, defina as opções de Configurações gerais e Exibição de dados.
No painel Prévia, comece a digitar uma consulta.
Para salvar as configurações e disponibilizá-las na guia Integração, clique em Salvar e publicar.
REST
Use o método engines.servingConfigs.search
para
receber resultados de pesquisa de um app de mídia:
Encontre o ID do app. Se você já tiver o ID do app, pule para a próxima etapa.
No console Google Cloud , acesse a página Aplicativos de IA.
Na página Apps, encontre o nome do app e confira o ID dele na coluna ID.
Execute o seguinte comando curl para receber resultados da pesquisa conforme você digita.
Todos os campos, exceto
contentSearchSpec
, podem ser usados em conjunto com o camposearchAsYouTypeSpec
. Para maior clareza, os campos opcionais foram omitidos do comando curl. Para os campos opcionais, consulte Receber resultados da pesquisa de um app com dados estruturados ou não estruturados.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"} }'
Substitua:
PROJECT_ID
: o ID do seu Google Cloud projeto.PROJECT_ID
: o ID do seu Google Cloud projeto.APP_ID
: o ID do app da Vertex AI para Pesquisa que você quer consultar.QUERY
: o texto da consulta a ser pesquisado.SPEC_CONDITION
: a especificação de pesquisa conforme você digita pode ter um dos seguintes valores:ENABLED
: para consultas parciaisDISABLED
: para consultas completasAUTO
: parcial ou total, conforme apropriado. Se você deixar o campoSPEC_CONDITION
vazio ou não especificar nada, o modo de pesquisa padrão seráAUTO
.
Exemplo de comando e resultado parcial
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": {} }