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. As sugestões podem ser palavras de títulos de documentos, operadores de pesquisa, valores de operadores de pesquisa, nomes e e-mail do domínio do G Suite e assim por diante.

O preenchimento automático extrai as frases dos títulos dos documentos indexados e, usando um modelo de n-grama (link em inglês), determina quais sugestões são exibidas usando a API Suggest. Por exemplo, digamos que tenhamos a seguinte origem de dados que contém 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 and e characters=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 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 aplicativo de pesquisa padrão ou o widget incorporável da Pesquisa, o recurso de preenchimento automático do Cloud Search será compatível nativamente sem nenhum trabalho a mais. 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 estará disponível consultando os endpoints da API /query/suggest.

Limitações

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

  • A restrição de frases de preenchimento automático do Cloud Search usando FilterOptions definidas no esquema não é compatível, exceto para os filtros de tipo e os seguintes filtros incorporados: objectype, mimetype.

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