Il y a 30000000 lignes stockées dans DB. toutes les lignes contiennent prénom et nom. Je voudrais interroger les données par prenom lastName mais je trouve que certains lastName contiennent un caractère spécial qui ne peut être trouvée actuellement il y a deux index normal prenom et nomFamillemysql comment améliorer le nom correspondance floue
Exemple: Susanna [Von Essen] ,Susanna VonEssen , Susanna Von Essen
différent lastName contiennent un caractère spécial , donc est-ce que je peux améliorer pour interroger ces 3 types de nom (même nom)?
résultat idéal Simulation:
requête: select *from provider where lastName like 'Von%'
Résultat: Susanna Von Essen,Susanna [Von Essen],Susanna VonEssen
requête: select *from provider where lastName like 'Von Essen%'
Résultat: Susanna Von Essen,Susanna [Von Essen],Susanna VonEssen
Merci!
Il existe une fonction SOUNDEX() qui retournera une chaîne similaire dans https://dev.mysql.com/doc/refman/5.7/fr/string-functions.html#function_soundex phonétique. Voir aussi http://www.databasejournal.com/features/mysql/mysql-fuzzy-text-searching-using-the-soundex-function.html mais je pense que MySQL n'est pas très bon dans la recherche floue. Je vais suggérer Elasticsearch pour ce genre de but. –
fonction ne supporte pas la recherche d'index, cela rendra la recherche lente, elasticsearch est ok mais la migration db est impossible maintenant –