Ver Mensaje Individual
  #10 (permalink)  
Antiguo 07/05/2013, 20:05
Avatar de cuasatar
cuasatar
 
Fecha de Ingreso: junio-2011
Ubicación: Bogotá Rock City
Mensajes: 1.230
Antigüedad: 12 años, 10 meses
Puntos: 181
Respuesta: problema con buscador interno con AGAINST y MATCH

Bueno, yo nunca he usado la busqueda full text en modo booleano, solo la busqueda full text "comun y silvestre" La diferencia es que en modo booleano lo puedes hacer aun mas restrictiva, si has leido el manual con juicio te habras dado cuentas que en modo booleano le puedes añadir comodines.

Desde la primera vez que vi tu consulta la vi mal, sin ser un experto en full text estoy casi seguro que jamas funcionara tal y como la tienes.

Pongo dos ejemplos:

Código SQL:
Ver original
  1. SELECT * FROM sales WHERE MATCH(title, body) AGAINST ('PHP')

Código SQL:
Ver original
  1. SELECT * FROM sales WHERE MATCH(title, body) AGAINST ('+PHP-MySQL' IN BOOLEAN MODE)

Si entiendes estos ejemplos sera mas facil. En ambas tablas buscas todos los datos de una tabla llamada ventas donde comparas el titulo y el cuerpo de la base de datos con la palabra PHP y en el segundo caso con los comodines incluyes PHP y que no tengan Mysql. En tu consulta yo veo que usas la estructura match against dos veces y la verdad no entiendo lo que pretendes hacer (yo creeria que no se puede hacer, no lo aseguro). Ademas al no tener comodines en tu consulta no veo porque lo quieres hacer en modo booleano.

Insisto, mira los ejemplos de mysql y desarrollalos para que entiendas la base. Yo literalmente aprendi full text con el manual porque el ejemplo lo dan "masticado".

P.S. Antes de hacer la función en PHP verifica directamente en el motor de mysql si lo que pretendes hacer es correcto. Si la consulta esta mal escrita en mysql php no te hara el milagro de hacerla funcionar.
__________________
Blog de humor http://elcuasatar.net63.net/