He aquí la base de datos.. 1 sola tabla.. y unos datos de ejemplo:
#
# Estructura de tabla para la tabla `empresas`
#
CREATE TABLE `empresas` (
`idempresa` int(6) NOT NULL auto_increment,
`nombre` varchar(50) NOT NULL default '',
`contenido` text NOT NULL,
`servicios` text NOT NULL,
PRIMARY KEY (`idempresa`),
FULLTEXT KEY `contenido` (`contenido`,`servicios`,`nombre`)
) TYPE=MyISAM AUTO_INCREMENT=36 ;
#
# Volcar la base de datos para la tabla `empresas`
#
INSERT INTO `empresas` VALUES (1, 'Sony', 'Electronica', 'CD, Video, TV');
INSERT INTO `empresas` VALUES (2, 'Pepsi', 'Bebida', 'Comida y Bebidas');
INSERT INTO `empresas` VALUES (3, 'Seat', 'Autos', 'autos comida');
INSERT INTO `empresas` VALUES (4, 'KLM', 'Aviones', 'aviones comida');
y según parece... este query debería funcionar:
SELECT * FROM empresas WHERE MATCH (empresas.nombre, empresas.contenido, empresas.servicios) AGAINST ("comida")
pero no.. no funciona.. NO DA NINGUN REGISTRO como resultado... a pesar de que hay 2 registros que cumplen con el query... pero si en cambio coloco esto:
SELECT * FROM empresas WHERE MATCH (empresas.nombre, empresas.contenido, empresas.servicios) AGAINST ("bebida")
Si me da un único resultado, como deberia ser.
o pasa algo raro con el mySql o hay que hacer algo más?!?!