Tengo que hacer un bsucador a una aplicación que estoy haciendo..
La aplicacion que estoy construyendo tiene bastantes tablas, por ende cada tabla puede tener contenido del que se esta buscando...Para el manejo de estro, existen clases específicas, de manera de que estas clases sean las encargadas del manejo del contenido.
Ahora para el buscador, como tengo cada clase definida para su contenido, pienso implementar un metodo para cada clase, que construya una instrucción sql que permita obtener los datos de busquedas de su contenido.. Me explico, cada clase genere una instrucción sql como la que sigue
Código:
y recorrer todas las clases (en total como 10, este numero puede crecer...pero no mucho), e ir obteniendo la query correspondiente.SELEC ID_ARTICULO , substr(NOMBRE,1, 50) AS NOMBRE_ARTICULO , substr( ARTICULO , 1, 50) AS DESCRIPCION, MATCH(NOMBRE, ARTICULO) AGAINST('encomillada') as PUNTUACION FROM ARTICULO WHERE ((ID_TIPO =7) OR (ID_TIPO=8)) OR MATCH(NOMBRE, ARTICULO) AGAINST('encomillada')
Una vez que tego ltodas las querys, las uno con UNION.. de manera de ejecutar un graaan query que traiga todos los resultados de busqueda, una cosa asi
Código:
Ahora, hasta el momento explico esto, uno, para que alguien que tenga alguna duda como hacer un buscador, por ultimo tenga una nueva vista , y lo segundo que es la consulta, que es lo que paso a explicar.SELECT..... ... ... UNION SELECT..... ... ... UNION SELECT..... ... ... ... ORDER BY PUNTUACION
Si se dan cuenta, para cada tipo de contenido, existe una tabla principal (en el ejemplo ARTICULO, primer query) y ademas esta posee tablas referenciales (en el ejemplo ID_TIPO, primer query).. Bueno, cada clase es la que genera su propio query, y esto tiene un desgaste del server.
Por ende estaba pensando en implementar algún tipo de mecanismo que permita almacenar esta consulta, de manera de controlar , si se repite la palabra de busqueda, obtener directamente el query formado de antes...
Ahora, la duda.. o las sugerencias...
Que mecanismo usaria para implementar este almacenamiento, y por que
Espero sus comentarios
Saludos