Hola, tengo esta tabla
Código:
CREATE TABLE `hunters` (
`hunter_id` bigint(11) NOT NULL auto_increment,
`hunter_fecha_ingreso` date default NULL,
`hunter_nombre` varchar(100) default NULL,
`hunter_fecha_nacimiento` date default NULL,
`sexo_id` int(11) default NULL,
`hunter_direccion` varchar(255) default NULL,
`hunter_telefono` int(11) default NULL,
`hunter_telefono2` char(10) default NULL,
`patrono_id` int(11) default NULL,
`hunter_nombre_referencia` varchar(100) default NULL,
`hunter_direccion_referencia` varchar(255) default NULL,
`hunter_telefono_referencia` int(11) default NULL,
`hunter_isss` char(20) default NULL,
`hunter_salario` decimal(11,2) default NULL,
`hunter_dui` char(20) default NULL,
`hunter_nit` char(20) default NULL,
`hunter_licencia` char(20) default NULL,
`estado_civil_id` int(11) default NULL,
`departamento_id` int(11) default NULL,
`municipio_id` int(11) default NULL,
PRIMARY KEY (`hunter_id`),
KEY `patrono` (`patrono_id`),
KEY `depto` (`departamento_id`),
KEY `municipio` (`municipio_id`),
FULLTEXT KEY `todos` (`hunter_nombre`,`hunter_direccion`,`hunter_isss`,`hunter_dui`,`hunter_nit`,`hunter_licencia`)
) ENGINE=MyISAM AUTO_INCREMENT=12272558 DEFAULT CHARSET=utf8 ROW_FORMAT=FIXED
y pues en este momento no recuerdo porque puse el nombre completo de las personas en un solo campo y no en campos separados, nose si afectara.
Tengo el siguiente caso, busco a una persona que se llama CARLOS RIVAS, pero cuantos carlos rivas habran, miles, si no es que millones, pues el primer resultado que me entrega es
RIVAS RIVAS CARLOS EDWIN
RIVAS RIVAS CARLOS ARMANDO
ORELLANA RIVAS CARLOS BALMORE
etc etc pero la coincidencia CARLOS RIVAS, no aparece sino como hasta el registro 300 lo cual me ha parecido extraño.
Pues cree una copia de la tabla e indices, e introduje datos manualmente para corroborar mi problema, pero cual fue mi sorpresa, con unos 20 registros que he puesto manualmente, el resultado siempre es el mismo, los registros me los devuelve asi
CARLOS RIVAS
RIVAS CARLOS
Martinez Rivas Alfonzo Carlos
Rivas Rivas Carlos eduardo
etc, es decir, primero me duelve solo lo que dice CARLOS RIVAS o invertido, porque en el otro no me funciona igual?
el query es el siguiente en ambos casos:
Código:
SELECT a.hunter_nombre,
MATCH (a.hunter_nombre,a.hunter_direccion,a.hunter_dui,a.hunter_isss,a.hunter_licencia,a.hunter_nit)
AGAINST ('Carlos Rivas') as puntuacion
FROM hunters a
WHERE MATCH (a.hunter_nombre,a.hunter_direccion,a.hunter_dui,a.hunter_isss,a.hunter_licencia,a.hunter_nit)
AGAINST ('Carlos Rivas')
espero que me puedan orientar. Gracias