Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/01/2008, 09:47
Avatar de xcars
xcars
 
Fecha de Ingreso: mayo-2005
Ubicación: El Salvador
Mensajes: 753
Antigüedad: 19 años
Puntos: 4
podra mi diseño afectar los resultados de una busqueda

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
__________________
Con Microaplicaciones puedes hacer tu tienda en línea de forma sencilla y rápida, sin costos ocultos y con mucha responsabilidad.