Ver Mensaje Individual
  #2 (permalink)  
Antiguo 11/03/2011, 05:36
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: match... against.. problema de búsqueda

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.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)