La fonctionnalité de base est assez simple, vous envoyez le contenu de la zone de texte à un serveur et le serveur retourne les choses de l'utilisateur
pourrait se préparer pour les type.
Là où ça devient compliqué, c'est essayer de prédire ce que chaque utilisateur peut effectivement être saisie, plutôt que de simplement récupérer ce qu'ils
pourrait être saisie.
Par exemple, avec Google, si quelqu'un de type "L", il ya des milliers d'éventuelles
paroles en commençant par la lettre L, l'utilisateur peut se préparer pour le type. Qui sait combien possible deux ou plusieurs mots
phrases ils peuvent se préparer pour le type.
Son vraiment pas très utile à l'utilisateur si vous retournez des milliers d'options éventuellement, il serait plus rapide pour eux à taper le mot ou la phrase eux-mêmes.
AutoSuggest champs de saisie ont généralement autour de 10 choix dans les plus. C'est vraiment wouldnt de sens à un peu aléatoirement 10 mots L pour revenir cependant, il wouldnt être cotes très bonne que ce que l'utilisateur tape serait retourné comme ça.
Deux des principales choses Google a à faire pour leur AutoSuggest au travail, sont les deux choses qui comptent sur le comportement des utilisateurs et des recherches précédentes. Google a plus de données à compiler des statistiques de ce que vous et moi ne verrez jamais dans notre vie entière.
La première chose, c'est garder la trace de la façon dont les mots et les phrases à plusieurs reprises sont recherchées à l'échelle mondiale, par tous les utilisateurs.
La deuxième chose, qui n'est pas toujours entrer en jeu si un utilisateur n'est pas connecté ou de permettre les cookies, est spécifique recherches des utilisateurs.
Google est généralement favorable à des résultats spécifiques à l'utilisateur par rapport aux résultats globaux. S'il n'y a pas assez de possibilités spécifiques à l'utilisateur, elles combler le vide avec des possibilités mondiales.
-
Ce que vous voulez faire pour commencer, est de commencer l'enregistrement ce qui est tapé dans la zone de texte. Youre va vouloir recueillir ces informations pendant un certain temps, peut-être un jour, peut-être un mois, selon la fréquence de votre zone de recherche est utilisé.
Une table de base de données simple avec trois colonnes "phrase", "first_letter» et «nombre» est suffisante pour le démarrage de collecte.
Chaque fois que quelqu'un présente une recherche, vous ajoutez la phrase ils ont cherché, ou mettre à jour la colonne num.
Si votre table utilise "phrase" comme clé primaire, une requête semblable à cela fonctionnerait.
INSERT INTO TABLE (first_letter, phrase, num)
VALUES ('m', 'my phrase', 1)
ON DUPLICATE KEY UPDATE num = num + 1
- INSERT INTO TABLE (first_letter, phrase, num)
- VALUES ('m', 'my phrase', 1)
- ON DUPLICATE KEY UPDATE num = num + 1
Après un certain temps, vous aurez un tableau similaire à cela.
first_letter, phrase, num
'a', 'apple pie', 12
'a', 'air', 1
'h', 'health food store', 1612
'h', 'happiness', 65
'h', 'healthy living', 897
'j', 'juice box', 77
- first_letter, phrase, num
- 'a', 'apple pie', 12
- 'a', 'air', 1
- 'h', 'health food store', 1612
- 'h', 'happiness', 65
- 'h', 'healthy living', 897
- 'j', 'juice box', 77
Avant d'utiliser le tableau, vous voulez le nettoyer afin qu'il ne contient que des articles que vous avez effectivement avoir des résultats pour les. Vous ne voulez pas de suggérer les choses vous n'avez pas de résultats pour.
Une fois que la table est allégée, vous pouvez commencer à interroger cette table que l'utilisateur tape en envoyant ce que l'utilisateur a tapé et il cherche dans ce tableau.
SELECT phrase FROM TABLE
WHERE first_letter = 'h' AND phrase LIKE 'hea%' ORDER BY num LIMIT 10
- SELECT phrase FROM TABLE
- WHERE first_letter = 'h' AND phrase LIKE 'hea%' ORDER BY num LIMIT 10
où «HEA% LIKE" aurait été les trois lettres de l'utilisateur a la possibilité de type avant l'entrée en jeu. AutoSuggest
Fondamentalement, vous commencerez une minuterie javascript moment la touche est enfoncée utilisateurs, peut-être 300 millisecondes, et une fois que la minuterie expire, vous envoyer le contenu de la zone de texte sur le serveur, le serveur recherche phrases possibles, et retourne les possibilités.
Comme il faut un moment pour la communication avec le serveur, l'utilisateur peut avoir tapé quelques lettres de plus. Vous pouvez parcourir les sugggestions revint avec javascript une dernière fois de passer au crible les résultats désormais impossible avant de les afficher à l'utilisateur.
-
Les gens viennent avec toutes sortes de nouveaux tours de deviner ce que leurs utilisateurs sont susceptibles d'être la recherche de tous les jours. Une chose que vous pouvez faire est de garder une trace de ce que chacun de vos recherches pour les utilisateurs individuels au moyen des comptes.
Le terme «autouggest" devrait se présenter beaucoup d'informations sur le sujet.

Strong with this one, the sudo is.