El problema lo puedes resolver leyendo el Manual de Referencia:
12.7.3. Limitaciones de las búsquedas de texto completo (Full-Text).
En su último punto dice:
Cita: * El argumento de AGAINST() debe ser una cadena constante.
Lo que significa dos cosas: 1) Sólo busca palabras, no patrones, por lo que no se puede hacer una búsqueda con coincidencias aproximadas. 2) Busca cadenas completas que se puedan distinguir por separadores de palabras, lo que significa que no sirve usar parte de las palabras.
Ten en cuenta esto:
Cita: El parser FULLTEXT determina dónde empiezan y acaban las palabras buscando algunos delimitadores, por ejemplo ' ' (el espacio), , (coma), y . (punto). Si las palabras no se separan por delmitadores como, por ejemplo, en chino, el parser FULLTEXT no puede determinar dónde empieza y acaba una palabra. Para ser capaz de añadir palabras o índices indexados en tales idioomas en un índice FULLTEXT, debe preprocesarlos para que se eliminen mediante algún delimitador arbitrario tal como ".
En otras palabras, MATCH... AGAINST funciona como buscador de palabras, no d cadenas parciales. Para eso existen otras funciones, como LIKE, REGEXP y el uso de expresiones regulares (
12.3.1. Funciones de comparación de cadenas de caracteres)
Leer el Manual de Referencia siempre,
siempre, es la mejor opción cuando la pregunta es
cómo funciona una cosa.