Lo que podría hacer es crear otra columna en su base de datos con un índice de búsqueda de texto completo, esta nueva columna debe tener la cadena invertida de la columna en la que está tratando de buscar, y revertirá la consulta de búsqueda y la usará para buscar en el columna invertida, así es como se verá la consulta:
SELECT * FROM table WHERE MATCH(column1) AGAINST ("$key*" IN BOOLEAN MODE) OR MATCH(reversedColumn1) AGAINST ("$reveresedkey*" IN BOOLEAN MODE)
-
la primera condición
MATCH(column1) AGAINST ("$key*" IN BOOLEAN MODE)
ejemplo:reversedColumn1==>Jmaes
$reveresedkey*==>ames*
buscará palabras que comiencen con ames ==> sin coincidencia -
la condición de los segundos
MATCH(reversedColumn1) AGAINST ("$reveresedkey*" IN BOOLEAN MODE)
ejemplo:reversedColumn1==>semaJ
$reveresedkey*==>sema*
buscará palabras que terminen en ames ==> tenemos una coincidencia
Esta podría no ser una mala idea si su texto es corto: