Widget de pesquisa do Knowledge Graph

O widget de pesquisa do Mapa de informações é um módulo JavaScript que ajuda você a adicionar temas a caixas de entrada no seu site. Os usuários começam a digitar o texto, e o widget encontra correspondências relevantes enquanto eles digitam usando a API Knowledge Graph Search.

Exemplo de widget da Pesquisa

Recursos

  • Diversos navegadores: ele é escrito em closure bem testado e em diferentes navegadores e compilado para JavaScript puro.
  • Vários domínios. Não é preciso usar servidores proxy, graças ao JSONP.
  • Hospedada em servidores do Google.
  • Sem custo financeiro! Sujeito aos Termos padrão das APIs do Google.

Experimente!

Por que usar o widget de pesquisa do Mapa de informações?

  • Permita que os usuários digitem menos para inserir mais dados.
  • Torne a entrada de dados mais fácil e precisa.
  • Reduza a carga cognitiva dos usuários fornecendo imagens e descrições.
  • Evite nomes duplicados para a mesma entidade: Puff Daddy, P. Diddy, Sean Combs refere-se a /en/sean_combs.

Adicionar o widget de pesquisa do Knowledge Graph ao seu site

Para adicionar esse widget a uma página, inclua o código a seguir no código-fonte do seu site. É preciso usar uma chave de API para que o widget possa acessar a API Google Knowledge Graph.

Código a ser incluído no seu site

Inclua o seguinte no <head> do seu documento HTML:

<link type="text/css" rel="stylesheet" href="https://www.gstatic.com/knowledge/kgsearch/widget/1.0/widget.min.css">
<style>
  .kge-search-picker {
    width: <DROPDOWN_MENU_WIDTH>;
  }
</style>
<script type="text/javascript" src="https://www.gstatic.com/knowledge/kgsearch/widget/1.0/widget.min.js"></script>

Em seguida, no documento <body>, use um campo de entrada com um ID correspondente, como este:

<input type="text" id="myInput">
<script type="text/javascript">
  KGSearchWidget(<API_KEY>, document.getElementById("myInput"), {});
</script>

Como receber e usar uma chave de API

A obtenção de uma chave de API permite que seu aplicativo faça solicitações do Google Suggest. Sem uma chave de API, o widget não funcionará. Se você ainda não tiver uma chave de API, siga as instruções na página Pré-requisitos para ter uma.

Quando você receber uma chave, transmita-a para o widget de pesquisa do Mapa de informações usando um código como este:

KGSearchWidget(<API_KEY>, document.getElementById("myInput"), {});

Como configurar o widget de pesquisa

Seu JavaScript pode chamar KGSearchWidget() com um terceiro argumento vazio, como mostrado acima. Ou você pode usar esse terceiro argumento para transmitir um objeto de configuração, especificando vários filtros, restrições e manipuladores de eventos.

Como transmitir um objeto de configuração

O widget de pesquisa do Knowledge Graph aceita um parâmetro de configuração opcional. Isso permite preencher uma estrutura de dados com várias opções de configuração e transmiti-la ao widget, conforme mostrado no exemplo abaixo.

var config = {
  'limit': 10,
  'languages': ['en', 'fr'],
  'types': ['Person', 'Movie'],
  'maxDescChars': 100,
};
config['selectHandler'] = function(e) {
  alert(e.row.name + ' selected');
};
config['highlightHandler'] = function(e) {
  alert(e.row.name + ' highlighted');
};
KGSearchWidget(<API_KEY>, document.getElementById('myInput'), config);

Opções de configuração

A tabela a seguir descreve as opções de configuração que você pode transmitir para o widget de pesquisa do Mapa de informações.

Nome Tipo Padrão Descrição
linguagens Matriz(String) Inglês Uma lista de códigos de idioma (definidos na ISO 639-1) que fazem com que a pesquisa seja feita em todos os idiomas especificados. Os resultados são classificados no primeiro idioma listado e exibidos no primeiro idioma da lista que tenha um nome para a entidade. O inglês tem a maior cobertura. Esse valor é transmitido de maneira transparente para a API Search.
Por exemplo, se os idiomas estiverem definidos como [fr, en], the widget will show descriptions for entities in the primary language, French, when possible. Otherwise, it will fall back to English as a secondary language.
limite Número inteiro 20 Número máximo de resultados no menu suspenso.
types Matriz(String) Qualquer tipo Retorna apenas entidades que correspondam a qualquer um dos tipos de entidade fornecidos. Se esse parâmetro for omitido, as correspondências de qualquer tipo de entidade serão retornadas.
maxDescChars Número inteiro Ilimitado O número máximo de caracteres na descrição detalhada de cada entidade. O conteúdo maior que maxDescChars será truncado.
selectHandler Função null A função de callback que será chamada quando uma linha for selecionada. O argumento da função de callback é um evento e inclui um atributo row com informações sobre a linha selecionada. Consulte Como usar manipuladores de eventos para ver um exemplo de como usar esse callback.
highlightHandler Função null A função de callback que é chamada quando o usuário passa o cursor sobre a linha. O argumento da função de callback é um evento e inclui um atributo row que contém informações sobre a linha selecionada.
Lembre-se de que muitos dispositivos (como hardware de tela sensível ao toque) não podem gerar esse evento.
Consulte Como usar manipuladores de eventos para ver um exemplo de como usar esse callback.

Como implementar manipuladores de eventos

O widget de pesquisa do Knowledge Graph aciona os seguintes eventos no contexto da entrada com que ele é inicializado. Você pode fornecer funções de callback no objeto de configuração para implementar gerenciadores para esses eventos.

selectHandler: este evento é acionado quando um usuário seleciona um item da lista do Google Suggest. O evento é acompanhado por um objeto de dados em que event.row são os dados da linha selecionada. event.row.name e event.row.id representam o nome e o ID do item selecionado. O fragmento de código abaixo mostra como testar o que selectHandler faz.

KGSearchWidget(<API_KEY>, document.getElementById("myInput"), {
  "selectHandler": function(e) {
    alert("selected " + e.row.name);
  }
});

highlightHandler: este evento é acionado quando um item é destacado pelo usuário ao passar o cursor sobre ele. O snippet abaixo mostra como testar o que highlightHandler faz.

KGSearchWidget(<API_KEY>, document.getElementById("myInput"), {
  "highlightHandler": function(e) {
    alert("highlighted " + e.row.name);
  }
});

Ajuda e feedback

Se você tiver dúvidas, relatórios de bugs ou feedback sobre a API Knowledge Graph Search, use o Fórum de Ajuda.