comment puis-je mettre en œuvre cette search

j'essaye de développer une search qui me permette d'accomplir ceci

Chaîne à searchr

This is a text 

l'input de l'user

 this_is_a_text this a text tihs a txt <----notes that the user made a wrong input 

mais m'a toujours donné la meilleure coïncidence qui serait par this is a text

Je veux savoir si le possible à faire avec l'utilisation de contains et freetext . Je pensais aussi à le faire correspondre caractère par caractère dans une méthode en c # chargeant tous les loggings car il n'y avait que 300 cent et faisant un pourcentage d'égal à égal. Mais ce ne sont que des idées que quelqu'un peut m'aider.

METTRE À JOUR

J'ai essayé avec la fonction soundex mais ça ne m'aide pas beaucoup …

Si vous souhaitez effectuer une réconciliation unique des données, vous devez probablement charger les deux lists en C #, puis utiliser un algorithm de distance d'édition tel que Distance Levenshtein pour parcourir les meilleures correspondances. Cela peut prendre beaucoup de time mais comme je dis – si vous n'avez qu'une seule fois à faire …

Vous pouvez implémenter cet algorithm en tant que fonction dans SQLServer (un googling vous finda plein de gens qui l'ont déjà fait pour vous …). En outre, des algorithms comme ceux-ci peuvent donner des correspondances non désirées ou inattendues où un matcher humain aurait choisi une autre alternative.

Faites attention!

Vous pouvez utiliser une méthode de rlocation.

var ssortingngToSearch = userInputText.Replace ('_', '');

Essayez un Soundex .