Como implementar o Google Suggest em seu próprio aplicativo web (por exemplo, usando Python)

StackOverflow https://stackoverflow.com/questions/255700

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? :)

Foi útil?

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

lado

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

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top