Visitas: 0
El uso de buscadores en un sitio web es cada vez más común por lo que tener un buen diseño sobre el mismo es cada vez más relevante. Existen muchas soluciones y herramientas para encarar un buen buscador, pasando por soluciones de base de datos relacionales, NO SQL, motores de búsquedas, etc.
En este post vamos a mostrar una posible solución que consideramos básica que pueden utilizar.
Las herramientas o tecnologías utilizadas son:
- MongoDB: base de datos NO SQL, donde se guarda en una colección llamada LOGs. Se almacena la búsqueda, el país, el navegador, etc.
- Elasticsearch: es un motor de búsqueda muy robusto y eficiente, donde utiliza una estructura de índice inverso para almacenar de forma eficiente los productos que hemos indexado anteriormente. Se puede utilizar el API REST de Elasticsearch o un wrapper de los diferentes lenguajes de programación.
- API REST: es para comunicarte con Elasticsearch y MongoDB. Puede implementarse en cualquier lenguaje backend como PHP; JavaScript (NodeJS o DENO), PYthon, Java, etc.
Como pueden observar es un diseño básico para empezar con un buscador en general. En este post hemos elegido un buscador de productos, pero se pude utilizar para cualquier propósito.
Una de las mejoras que se pueden agregar en este buscador es un sistema de cache como Redis, pero no lo incluimos porque consideramos que es una mejora que debemos evaluar si es necesario su implementación.