Implementar o preenchimento automático

O preenchimento automático do Cloud Search auxilia o usuário ao sugerir palavras quando o usuário está digitando uma consulta de pesquisa. Por exemplo, as sugestões podem ser palavras de títulos de documentos, operadores de pesquisa, valores de operadores de pesquisa ou nomes e endereços de e-mail da organização do Google Workspace.

O preenchimento automático extrai frases dos títulos dos documentos indexados e, usando um modelo de n-grama, determina quais sugestões são exibidas usando a API Suggest. Por padrão, as frases dos títulos dos documentos são mostradas no preenchimento automático. Também é possível marcar propriedades de esquema de texto e enumeração como is_suggestable para preencher automaticamente o nome e os valores da propriedade correspondente.

A API Suggest examina a consulta de pesquisa para encontrar dicas sobre o idioma dela, como inglês ou espanhol, e prioriza os resultados de acordo com isso. O campo languageCode de uma solicitação também é usado para melhorar as sugestões específicas de idioma.

Exemplo de cenário

Por exemplo, digamos que você tenha a seguinte fonte de dados com dados sobre filmes:

  • A origem de dados contém dois documentos.
  • Cada documento tem um título (ItemMetadata.title) e duas propriedades: genre e characters.
  • O primeiro documento é intitulado "Avengers Infinity War", com genre=science fiction e characters=Iron Man, Hulk.
  • O segundo documento é intitulado "Harry Potter" com genre=Adventure, Fantasy andcharacters=Hermione, Harry Potter`

A Figura 1 ilustra como as sugestões de preenchimento automático são extraídas dos títulos de documento, propriedades e valores da propriedade.

Dois documentos e o n-grama resultante
Figura 1. Dois documentos e o n-grama resultante usado para o preenchimento automático

Do documento 1, extraímos os n-gramas (até trigramas) "Avengers", "Infinity", "War", "Avengers Infinity", "Infinity War", "Avengers Infinity War". Da mesma forma, no documento 2, geramos "Harry", "Potter", "Harry Potter".

Ao consultar essa origem de dados, digamos que o usuário comece digitando "h". As sugestões mostradas ao usuário seriam:

  • Harry
  • Hermione
  • Hulk
  • Harry Potter

Digamos que o usuário selecione a sugestão de preenchimento automático "Hermione" e o próximo pressionamento de tecla do usuário seja o caractere "a". As sugestões de preenchimento automático mostradas ao usuário seriam:

  • Hermione Adventure
  • Hermione Action
  • Hermione Avengers

O preenchimento automático tenta concluir a última palavra (ou n-grama) digitada. No exemplo anterior, ele apenas expande "a" para "adventure", "action" e "avengers", porque não existe um texto começando com "hermione a" juntos. Essa sugestão é chamada de sugestão de cauda, que é o preenchimento automático apenas da última palavra/n-grama sendo digitada.

O preenchimento automático do Cloud Search retorna no máximo cinco sugestões do conteúdo do documento e duas sugestões de pessoas.

Por padrão, as frases dos títulos dos documentos são mostradas no preenchimento automático. As propriedades do esquema precisam ser explicitamente marcadas como is_suggestable para que a API de sugestão preencha automaticamente o nome e os valores da propriedade correspondente.

Integrar à API Autocomplete

Se você estiver usando o aplicativo de pesquisa padrão ou o widget de pesquisa incorporável, o recurso de preenchimento automático do Cloud Search será compatível nativamente sem nenhum trabalho extra. Lembre-se de que, por padrão, as frases dos títulos dos documentos são mostradas no preenchimento automático. As propriedades do esquema precisam ser explicitamente marcadas como is_suggestable para que a API de sugestão preencha automaticamente o nome e os valores da propriedade correspondente.

Se você estiver criando um aplicativo de pesquisa personalizado, o preenchimento automático vai estar disponível consultando os endpoints da API /query/suggest.

Limitações

O preenchimento automático tem as seguintes limitações:

  • Não é possível restringir as frases de preenchimento automático da Pesquisa do Google usando o FilterOptions definido no esquema, exceto para os seguintes filtros integrados: objectype, mimetype e filtros de tipo.

  • Sugestões baseadas em histórico de consultas (pesquisas realizadas anteriormente pelo usuário em um aplicativo de pesquisa) não são compatíveis.

  • No máximo 20 propriedades podem ser marcadas como is_suggestable. Esse limite pode ser aumentado entrando em contato com o suporte do Cloud Search.

  • O preenchimento automático do operador de pesquisa não está disponível para propriedades com exact_match_with_operator.

  • O preenchimento automático do Cloud Search retorna no máximo cinco sugestões do conteúdo do documento e duas sugestões de pessoas.

  • O preenchimento automático do Cloud Search sugere frases apenas de documentos aos quais o usuário tem acesso.