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 .