Ce que vous pouvez faire est de créer une autre colonne dans votre base de données avec un index de recherche en texte intégral, cette nouvelle colonne doit avoir la chaîne inversée de la colonne sur laquelle vous essayez de rechercher, et vous inverserez la requête de recherche et l'utiliserez pour rechercher sur le colonne inversée, voici à quoi ressemblera la requête :
SELECT * FROM table WHERE MATCH(column1) AGAINST ("$key*" IN BOOLEAN MODE) OR MATCH(reversedColumn1) AGAINST ("$reveresedkey*" IN BOOLEAN MODE)
-
la première condition
MATCH(column1) AGAINST ("$key*" IN BOOLEAN MODE)
exemple :reversedColumn1==>Jmaes
$reveresedkey*==>ames*
recherchera les mots commençant par ames ==> pas de correspondance -
la condition des secondes
MATCH(reversedColumn1) AGAINST ("$reveresedkey*" IN BOOLEAN MODE)
exemple :reversedColumn1==>semaJ
$reveresedkey*==>sema*
recherchera les mots qui se terminent par ames ==> nous avons une correspondance
Ce n'est peut-être pas une mauvaise idée si votre texte est court :