Donc, je voudrais savoir quel est l'algorithme général pour mettre en œuvre une recherche instantanée qui est pas de charge intensive. Pas spécifiquement sur le web mais même dans une application desktop/winforms.mettre en œuvre l'algorithme de recherche instantanée fileté
Corrigez-moi si je me trompe mais que je ne peux pas envoyer d'appels asynchrones à chaque frappe de touche, n'est-ce pas? (Je ne sais pas how google instant manages this) Cela créerait une charge folle sur la base de données/etc
Ive pensé à quelque chose comme ceci:
- minuterie de Feu toutes les millisecondes xxx
- Sur le feu, l'entrée Désactiver, Désactivez la minuterie et envoyez un appel asynchrone à la recherche.
- Lorsque les retours d'appels, les résultats d'affichage, permettent l'entrée, activez la minuterie
Est-ce la façon dont il le général manipulé, ou est-il une meilleure façon?
Je pense que vous ne devriez tirer après la personne _stops_ taper pendant un certain temps, plutôt que de désactiver l'entrée. – lijie
Vous ne voulez pas désactiver la saisie en attendant que la recherche revienne - beaucoup de gens peuvent taper plus vite que vous ne pouvez obtenir les résultats de la recherche d'un serveur, et ce serait vraiment ennuyeux. –
True, donc vous voulez dire appel asynchrone toutes les xxx millisecondes? En général lui-même je trouve un instant ennuyeux parfois, vous finissez par interroger des phrases que vous n'avez pas terminées, tout ce qui charge juste pour ne pas appuyer sur entrer. Peut-être que je suis un peu paresseux! lol Toujours mes gens pensent que ce serait impressionnant et regarder mieux! – gideon