Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

no busca bien

Estas en el tema de no busca bien en el foro de Bases de Datos General en Foros del Web. Hola, Tengo un problema con "mi archienemigo el buscador". Tengo la siguiente tabla Código PHP: CREATE TABLE persona ( id_p int not null auto_increment PRIMARY KEY , id_pais int ( 11 )  not null , ...
  #1 (permalink)  
Antiguo 14/10/2005, 03:36
Avatar de elangelcaido  
Fecha de Ingreso: septiembre-2003
Ubicación: Oviedo
Mensajes: 1.068
Antigüedad: 20 años, 7 meses
Puntos: 4
no busca bien

Hola,

Tengo un problema con "mi archienemigo el buscador". Tengo la siguiente tabla
Código PHP:
CREATE TABLE persona(
id_p int not null auto_increment PRIMARY KEY,
id_pais int(11not null,
nombre_p varchar(100not null,
apellidos_p varchar(100not null,
sexo_p varchar(7not null,
edad_p int(4not null,
fecha_nacimiento_p date not null,
ult_direccion_p varchar(255not null,
descrip_p text not null,
foto_p varchar(100not null default 'untitled.jpg',
fecha_p date not null,
FOREIGN KEY (id_paisREFERENCES pais(id_pais),
FULLTEXT indice_persona (nombre_p)
); 
Y luego para hacer una consulta de busqueda hago:
Código PHP:
SELECT id_p
MATCH (
nombre_p
)
AGAINST (
'marcos'
) AS relev
FROM persona
WHERE MATCH 
(
nombre_p
)
AGAINST (
'marcos'
)
ORDER BY relev DESC 
Donde "marcos" es un valor que existe en una de las tuplas.

Pues el problema es que cuando tengo un único registro que tenga en el campo nombre_p el valor "marcos" la cosa va bien, pero si tengo mas de un registro con el mismo valor no me saca ningun resultado.

¿Alguien sabe porque?
Gracias por la ayuda.
__________________
Ta Luego! Al final sólo puede quedar uno...
________
lukos.org
  #2 (permalink)  
Antiguo 17/10/2005, 02:09
Avatar de elangelcaido  
Fecha de Ingreso: septiembre-2003
Ubicación: Oviedo
Mensajes: 1.068
Antigüedad: 20 años, 7 meses
Puntos: 4
Pregunta

¿Nadie me puede ayudar?. El problema es que cuando hay tuplas con informacion repetida no encuentra ninguna de ellas, sin embargo si solo hay una tupla con la informacion a buscar SI que la encuentra.
__________________
Ta Luego! Al final sólo puede quedar uno...
________
lukos.org
  #3 (permalink)  
Antiguo 17/10/2005, 04:00
Avatar de elangelcaido  
Fecha de Ingreso: septiembre-2003
Ubicación: Oviedo
Mensajes: 1.068
Antigüedad: 20 años, 7 meses
Puntos: 4
Podría ser por esto?: en la consulta anterior no se regresó ningún resultado a pesar de que la palabra "MySQL" aparece en todos los registros que insertamos, esto se debe a que las palabras que aparecen en más del 50% de los campos son consideradas palabras que "hacen ruido", y no se toman en cuenta. que encontre en http://www.mysql-hispano.org/page.php?id=15&pag=2
Es lo unico que se me ocurre que puede ser. Seguire haciendo pruebas para confirmar esto.

Si alguien me lo confirmara me haria un favor !!
__________________
Ta Luego! Al final sólo puede quedar uno...
________
lukos.org
  #4 (permalink)  
Antiguo 17/10/2005, 04:13
Avatar de elangelcaido  
Fecha de Ingreso: septiembre-2003
Ubicación: Oviedo
Mensajes: 1.068
Antigüedad: 20 años, 7 meses
Puntos: 4
De acuerdo

Definitivamente creo que era eso. He metido mas registros y me ha empezado a dar resultados.
Una solucion para esto seria usar la busqueda en "modo booleano", explicacion que dan en MySQL Hispano.org:
La explicación que dimos acerca de porque no se regresaba ningún resultado en esta consulta es que la palabra "MySQL" aparecía en más del 50% de los registros que insertamos, que se le consideraba una palabra que "hacía ruido", y por lo tanto no se le había tomado en cuenta, se le ignoraba.

Para las búsqueda en modo booleano, esto del 50% ya no es válido.
__________________
Ta Luego! Al final sólo puede quedar uno...
________
lukos.org
  #5 (permalink)  
Antiguo 23/12/2005, 12:15
Avatar de enzoscuro  
Fecha de Ingreso: mayo-2004
Ubicación: hcda el carmen pan de azu
Mensajes: 51
Antigüedad: 20 años
Puntos: 0
lo haz echo excelenete

Tenia el mismo problema q tu, y gracias a tu investigacion lo he solucionado...muchas gracias
__________________
El viento sopla en el oeste...
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:51.