Ver Mensaje Individual
  #2 (permalink)  
Antiguo 25/06/2012, 09:31
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 4 meses
Puntos: 447
Respuesta: Problema con "IN BOOLEAN MODE"

Hola Naica:

Un favor, cuando publiques alguna consulta en este foro NO INCLUYAS CÓDIGO PHP NI DE NINGÚN OTRO LENGUAJE DE PROGRAMACIÓN... pon sólo código SQL... en este caso el problema puede ser ocasionado por las variables que estás poniendo ($frase)... en lugar de postear esto, dinos como es exactamente la sentencia SQL que estás tratando de ejecutar, no nos digas cómo armas esa sentencia...

No me quedó claro cuál es el problema que estás teniendo... sería conveniente que nos pusieras qué datos que tienes en tu tabla y qué patrón es el que deseas buscar... De primera vista la consulta no tiene nada de malo, y el problema se podría atribuir más bien a la información, por eso es que pido que nos pongas los datos de ejemplo. Por lo pronto, puedes probar las siguientes opciones:

primero: Quitar la opción IN BOOLEAN MODE: ¿Realmente necesitas hacer búsquedas booleanas?. Muchos de los usuarios que he visto utilizar esta opción lo hacen para evitar el límite del 50% (si no sabes de qué estoy hablando revisar la documentación)... podrías quitar este modificador y observar el tipo de búsqueda que se realiza.

http://dev.mysql.com/doc/refman/5.0/...t-boolean.html

En su defecto, si necesitas utilizar búsquedas booleanas, entonces SÁCALE PROVECHO A LOS DISTINTOS OPERADORES... el verdadero potencial de las búsquedas booleanas es cuando utilizas estos y todos los demás operadores...
OJO, hasta donde recuerdo, el operador asterisco (*) se aplica POR PALABRA, algo distinto a los operadores (+) y (+) por lo que si no estoy equivocado tendrías que hacer algo como esto:

Código:
AGAINST ('el* animal* delfin*'  IN BOOLEAN MODE)

o 

AGAINST ('(el) +animal* +delfin*'  IN BOOLEAN MODE)
Te repito, no estoy seguro de si esto es correcto, pero es cuestión de que hagas algunas pruebas.

Saludos
Leo.