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

Consejos para armar buscadores

Estas en el tema de Consejos para armar buscadores en el foro de Bases de Datos General en Foros del Web. Hola, tengo que armar un buscador en php-mysql. He estado leyendo un poco de informacion acerca del tema, y veo que cuando manejas muchos registros, ...
  #1 (permalink)  
Antiguo 12/11/2003, 20:10
 
Fecha de Ingreso: septiembre-2002
Ubicación: Mexico
Mensajes: 142
Antigüedad: 21 años, 7 meses
Puntos: 0
Consejos para armar buscadores

Hola, tengo que armar un buscador en php-mysql. He estado leyendo un poco de informacion acerca del tema, y veo que cuando manejas muchos registros, hay que indexear los datos, ademas de que si vamos a dividir los registros en varios tipos, cada tipo una tabla y todas las tablas tienen que ser identicas en cuanto los tipos y cantidad de campos. (Como en mi caso, que es de una tienda de cocina, se dividira el catalogo en cristaleria, electrodomesticos, cubiertos, etc, lo que viene perfecto para mis fines). Aun no termino de entender las ventajas de indexear los campos, asi como otro tipo de detalles que debo tomar en cuenta (todavia debo leerme mas acerca de las REG EXP :P).

Cualquier consejo, sera agradecido.


Bye!!!!
__________________
www.subflash.com <-----visita
  #2 (permalink)  
Antiguo 12/11/2003, 20:50
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
El "indexar" una BD le facilitará la tarea de buscar terminos en tus tablas/campos a Msyql .. Eso lo defines en las propiedades de tu tabla definiendo que campos será usados como "claves" los cuales son los suceptibles de ser usados para busquedas y por ende se indexan.

Te recomiendo estos temas para que leas acerca de Normalización, busquedas Full Text y otros:

Normalización de tus BD
http://www.mysql-hispano.org/page.php?id=16

Busquedas Full Text (indenxan tus campos)
http://www.mysql-hispano.org/page.php?id=15

Y en general:
www.mysql.com
www.mysql-hispano.com

Y bueno .. en principio .. son problemas de SQL y/o modelo de datos de tu BD ..

No sé por qué vas a separar "items" (los de cristaleria, cocina .. etc) en diferentes tablas cuando puedes usar un simple campo que indique que categoría es ese producto para poder aplicar filtros tipo "WHERE categoria='cristaleria') .. Esto es parte de la "Normalización" de tu BD ..

Aprovecho para mover el mensaje al foro de "Base de datos" ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.

Última edición por Cluster; 12/11/2003 a las 20:54
  #3 (permalink)  
Antiguo 13/11/2003, 02:45
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 7 meses
Puntos: 41
Y yo te dejo este link ... muy interesante, de verdad:

http://www.mysql-hispano.org/page.php?id=15

Saludos
  #4 (permalink)  
Antiguo 13/11/2003, 12:44
 
Fecha de Ingreso: septiembre-2002
Ubicación: Mexico
Mensajes: 142
Antigüedad: 21 años, 7 meses
Puntos: 0
muchas gracias, seguire indagando sobre el tema.
apenas estoy empezando a gestionar bases de datos, y esta va a ser la primera digamos grande (o mediana), van a ser alrededor de 2000 registros. Pense que lo mas conveniente seria separarlas en varias tablas. Sucede que aparte voy a armar un panel de control donde se puedan agregar otras variedades de articulos, pero seguire tus consejos (por algo eres moderador aqui ;) , no solo por mover post). Yo creo que van a ser entonces dos tablas, una para los productos, y la otra que contenga la descripciones de las secciones de cada producto, y si hay secciones nuevas, pues ahi se agregen.


quisiera agradecer a cluster por mover el post a un foro mas adecuado, hoy en la mañana me di cuenta que debi haber posteado en el foro de base de datos. :D

hasta luego!!!
__________________
www.subflash.com <-----visita
  #5 (permalink)  
Antiguo 13/11/2003, 14:44
 
Fecha de Ingreso: septiembre-2002
Ubicación: Mexico
Mensajes: 142
Antigüedad: 21 años, 7 meses
Puntos: 0
hola de nuevo, ya lei los articulos los cuales me parecion realmente interesantes, en especial eso de la normalizacion de las BD

bueno, sacando conclusiones, es bueno indexear un campo cuando se van a hacer busquedas en el mismo. Entre mas adentro este la palabra en el campo, mas tiempo tardara el mysql en encontrarla y devolverla. Ahora, en mi caso teniendo un campo con la descripcion del producto, esa la tendria que indexear, pero digamos que si quiero separar las consultas en base al tipo de producto que tengo, este campo que me define el tipo, segun imagino no debo indexearlo. Deberia quedar algo asi la consulta, por asi decirlo.

Código:
SELECT id, nombre, descripcion, precio FROM productos WHERE MATCH (nombre, descripcion) AGAINST ("metal") AND WHERE tipo LIKE 'cucharas';
estoy en lo cierto?

muchas gracias!
__________________
www.subflash.com <-----visita
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 09:17.