2011-07-19 1 views
2

J'ai donc cherché à la recherche floue, l'algorithme Levenshtein et je ne sais pas si ce soit sont un véritable ajustement pour ce que je fais. S'il vous plaît laissez-moi savoir vos pensées, le cas échéant ...Faire des suggestions basées hors du nom de la personne

Comment puis-je prendre le nom complet d'un utilisateur, et de générer une liste de noms similaires? Je veux empêcher un utilisateur de créer plusieurs comptes dans une application en fournissant un "Hey êtes-vous sûr qu'aucun de ceux-ci ne vous êtes" comme une dernière étape avant la création du compte.

J'ai trouvé cet article, mais il est tout à fait basé sur SQL (http://stackoverflow.com/questions/988050/matching-records-based-on-person-name)

J'utilise C#/Linq, SqlServer.

Merci pour votre temps!

+0

Ma recommandation serait de regarder 'SOUNDEX()', mais c'est aussi une solution SQL que vous semble contre l'utilisation. – Yuck

+0

Oui, je préfère garder en C# – Mark

+1

Vous pouvez aussi utiliser la réponse SQL que vous avez posté. Créez simplement une procédure stockée et appelez-la depuis linq –

Répondre

0

Si elle était moi, je aurais besoin une correspondance exacte le dernier nom, puis seulement essayer de deviner les écarts du premier nom. Cela permettrait d'affiner un peu votre domaine de travail. Puis, comme vous l'avez suggéré dans vos commentaires, vous pouvez appliquer des règles de +/- quelques caractères de la longueur du prénom ainsi qu'un seuil de say (80%) des caractères doivent correspondre.

En outre, vous ne pouvez alors regarder les premiers noms qui correspondent aussi les premiers caractères X et, comme la plupart des écarts de nom anglais seront après X nombre de caractères.

Exemple:

  • John Doe
  • Johnny Doe
  • Johnathan Doe
Questions connexes