Comment implémenter Google Suggest dans votre propre application Web (par exemple, en utilisant Python)

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

Question

Sur mon site Web, les utilisateurs ont la possibilité de stocker des liens.

Lors de la saisie de l'adresse Internet dans le champ désigné, je souhaite afficher une zone de suggestion / de saisie semi-automatique similaire à Google Suggest ou à Chrome Omnibar.

Exemple:

L'utilisateur tape en tant qu'URL:

http://www.sta

Suggestions à afficher:

http://www.staples.com
http://www.starbucks.com
http://www.stackoverflow.com

Comment puis-je atteindre cet objectif sans réinventer la roue? :)

Était-ce utile?

La solution

Vous pouvez essayer avec http://google.com/complete/search?output=toolbar&q=keyword

puis analysez le résultat XML.

Autres conseils

Je l'ai déjà fait auparavant sur un serveur Django. Il y a deux parties - côté client et côté serveur.

Côté client, vous devrez envoyer XmlHttpRequests au serveur au fur et à mesure que l'utilisateur tape, puis, lorsque les informations sont renvoyées, affichez-les. Cette partie nécessitera une bonne quantité de javascript, y compris des éléments délicats tels que les rappels et les gestionnaires de touches.

Côté serveur, vous devrez gérer les requêtes XmlHttpRequests qui contiendront ce que l’utilisateur a saisi jusqu’à présent. Comme une url de

www.yoursite.com/suggest?typed=www.sta

, puis répondez avec les suggestions codées d’une manière ou d’une autre. (Je recommanderais le codage JSON des suggestions.) Vous devez également obtenir les suggestions de votre base de données. Il peut s’agir simplement d’un simple appel SQL ou autre, selon votre environnement.

Mais la partie serveur est assez simple. La partie côté client est plus délicate, je pense. J'ai trouvé cet article utile

.

Il écrit des choses en php, mais le travail côté client est à peu près le même. En particulier, vous pourriez trouver son CSS utile.

Yahoo dispose d'un contrôle de la saisie semi-automatique .

Ils ont un exemple ici .

Évidemment, cela ne vous aide pas à obtenir les données - mais il semble que vous ayez votre propre source et que vous ne cherchiez pas réellement à obtenir des données de Google.

Si vous souhaitez que la saisie automatique utilise la date de votre propre base de données, vous devez effectuer la recherche vous-même et mettre à jour les suggestions en utilisant AJAX comme type d'utilisateur. Pour la partie recherche, vous pouvez consulter Lucene .

Ce contrôle est souvent appelé une roue de mots. MSDN a récemment effectué une procédure d'écriture sur LINQ <. / code>. Il y a deux aspects critiques: l'exécution différée et l'évaluation paresseuse. L'article a aussi le code source.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top