Como implementar o Google Suggest em seu próprio aplicativo web (por exemplo, usando Python)
-
05-07-2019 - |
Pergunta
No meu site, os usuários têm a possibilidade de armazenar links.
Durante digitando o endereço internet no campo designado gostaria de exibir uma caixa de sugerir / autocomplete semelhante ao Google Suggest ou o Omnibar Chrome.
Exemplo:
usuário está digitando como URL:
http://www.sta
As sugestões que seria exibida:
http://www.staples.com
http://www.starbucks.com
http://www.stackoverflow.com
Como posso conseguir isso enquanto não reinventar a roda? :)
Solução
Você poderia tentar com http://google.com/complete/search?output=toolbar&q=keyword
e, em seguida, analisar o resultado XML.
Outras dicas
Eu fiz isso uma vez antes em um servidor de Django. Há duas partes -. Do lado do cliente e do lado do servidor
ladoCliente terá de enviar XMLHttpRequests para o servidor como o usuário está digitando, e depois, quando a informação vem de trás, exibi-lo. Esta parte vai exigir uma quantidade razoável de javascript, incluindo algumas partes difíceis, como retornos de chamada e manipuladores de tecla.
lado do servidor que você terá que lidar com os XMLHttpRequests que será algo que contém o que o usuário digitou até agora. Como um url de
www.yoursite.com/suggest?typed=www.sta
e responder, em seguida, com as sugestões codificados de alguma forma. (Eu recomendo JSON-codificar as sugestões.) Você também tem que realmente obter as sugestões de seu banco de dados, este poderia ser apenas uma chamada SQL simples ou algo mais dependendo do seu quadro.
Mas a parte do servidor lado é bastante simples. A parte do lado do cliente é mais complicado, eu acho. Eu encontrei este artigo útil
escrever as coisas que ele está em php, mas o trabalho do lado do cliente é praticamente o mesmo. Em particular, você pode encontrar o seu CSS útil.
Yahoo tem uma boa autocomplete controle .
Eles têm uma amostra aqui. .
Obviamente, isso não faz nada para ajudá-lo na obtenção de dados -., Mas parece que você tem a sua própria fonte e Arent realmente olhando para obter dados do Google
Se você quer o auto-completar para usar a data do seu próprio banco de dados, você vai precisar para fazer a si mesmo pesquisar e atualizar as sugestões usando AJAX como o tipo de utilizadores. Para a parte de pesquisa, você pode querer olhar em Lucene .
Esse controle é muitas vezes chamado uma roda palavra. MSDN tem uma recente passo a passo em escrever um com LINQ
. Há dois aspectos críticos: execução diferida e avaliação preguiçosa. O artigo tem código fonte também.