J'ai une application Web ASP.NET et un List<Product>
sur le serveur (dans le magasin Application []). Le produit de classe a une propriété Name. Je dois donner aux utilisateurs la possibilité de rechercher des produits en fonction des noms. Par exemple, si l'utilisateur tape «ordinateur honda», l'application doit montrer «2001 Honda Passport Engine Computer (OEM)». La recherche doit être très rapide, à l'avenir je vais ajouter des fonctionnalités de saisie semi-automatique (AJAX).Application .NET - problème de recherche
Jusqu'à présent, j'eu quelques idées comment résoudre ceci:
écrire ou utiliser une implémentation open source de quelque chose comme B-Tree, Trie, arbre Suffixe, arbre Prefix. Malheureusement, les structures de données et les algorithmes ne sont pas mes compétences les plus solides (sacrément Harvard, tant d'argent pour rien).
Utilisez un moteur de recherche - Lucene.NET, Velocity ou MemCached.NET. Je n'en ai jamais utilisé un, donc je ne sais pas s'ils vont travailler dans ce scénario. Je n'ai pas besoin de chercher des synonymes et mon application n'a pas les permissions pour accéder au système de fichiers (donc pas de fichier d'index).
Tout conseil est le bienvenu.
Impossible de faire cela, DB est hors de mon contrôle. Je dois charger le catalogue de produits en mémoire au démarrage de l'application. –
Eh bien, ne faites certainement pas votre propre implémentation des algorithmes que vous avez mentionnés plus haut. Avez-vous essayé quelque chose comme ça? http://www.codedigest.com/CodeDigest/52-Search-in-Generic-List-T--in-C-.aspx –