Implementar o preenchimento automático

O preenchimento automático do Cloud Search ajuda um usuário sugerindo palavras quando ele 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 de documentos indexados e, usando um modelo de n-grama (link em inglês), determina que sugestões sejam 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 as propriedades de texto e esquema de tipo enumerado como is_suggestable para preencher automaticamente o nome e os valores da propriedade correspondente.

A API Suggest analisa a consulta de pesquisa em busca de dicas sobre o idioma da consulta, 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 sugestões específicas de linguagens.

Exemplo

Por exemplo, digamos que você tenha a seguinte fonte de dados contendo 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, propriedades e valores da propriedade do documento.

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 ngrams (até trigramas) "Avengers", "Infinity", "Guerra", "Avengers Infinity", "Infinity War", "Avengers Infinity War". Da mesma forma do documento 2, geramos "Harry", "Potter", "Harry Potter".

Ao consultar essa fonte 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 toque 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 completar a última palavra (ou n-grama) digitada. No exemplo anterior, ela apenas expande "a" para "adventure", "action" e "avengers", já que não há texto começando com "hermione a" juntos. Essa sugestão é chamada de sugestão de cauda; preenchendo automaticamente apenas a última palavra/n-grama 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 de 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 app de pesquisa padrão ou o widget de pesquisa incorporável, o recurso de preenchimento automático do Cloud Search será nativamente compatível, sem nenhum trabalho extra. Lembre-se, 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 app de pesquisa personalizado, o preenchimento automático 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 do Cloud Search usando o FilterOptions definido no esquema, exceto pelos filtros integrados a seguir: objectype, mimetype e filtros de tipo.

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

  • No máximo 20 propriedades podem ser marcadas como is_suggestable. É possível aumentar esse limite 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 nos documentos a que um usuário tem acesso.