En el artículo de hoy, exploraremos a alto nivel el cerebro detrás de las búsquedas de SAP Commerce Cloud, el motor de búsqueda Solr. Apache Solr se ha integrado como parte central de SAP Commerce desde las primeras versiones de SAP Hybris y destaca como un componente fundamental en la búsqueda y navegación del comercio electrónico.

Solr es una plataforma sólida de búsqueda que simplifica la recuperación de datos y mejora la experiencia del usuario a través de funcionalidades de búsqueda eficientes y precisas. Este artículo completo profundiza en las complejidades de Apache Solr, destacando sus características, operativa dinámica, comparación con Elasticsearch, e implementación personalizada en SAP Commerce Cloud.

Qué es Apache Solr?

Solr es una plataforma que puede entenderse como una base de datos muy optimizada para ciertas operaciones, lo que la diferencia de un sistema de almacenamiento tradicional. A diferencia de otras bases de datos, se centra intensamente en un solo tipo, en el caso de SAP Commerce éste es el objeto "Producto". Apache Solr es una plataforma de búsqueda de código abierto de nivel empresarial del proyecto Apache Lucene. Su versatilidad para manejar grandes conjuntos de datos la convierte en una opción óptima para proyectos que necesitan capacidades de búsqueda avanzadas. En pocas palabras, Solr puede entenderse como una base de datos no relacional o una base de datos NoSQL.

apache solr logo blanco

Base de Datos Relacional vs No Relacional

Comprender la distinción entre bases de datos relacionales y no relacionales es crucial al explorar las capacidades de Solr. Las bases de datos relacionales, estructuradas en tablas y filas, destacan por mantener la integridad de los datos y realizar consultas complejas a través de SQL. Por el contrario, Solr, al adoptar el enfoque NoSQL, ofrece más flexibilidad en la gestión de datos, permitiendo la indexación y búsqueda de datos no estructurados. Esta flexibilidad es particularmente beneficiosa en escenarios de comercio electrónico donde es necesario indexar y recuperar información variada y compleja de productos de manera eficiente.

La arquitectura de Solr permite gestionar diversos tipos de contenido, desde datos estructurados hasta texto no estructurado, proporcionando así una experiencia de búsqueda integral. Utiliza un mecanismo de índice invertido, lo que lo hace muy eficiente a la hora de buscar y recuperar datos rápidamente, incluso de grandes conjuntos de datos. Por otro lado, escribir en Solr es mucho más caro en términos de tiempo que escribir en una base de datos relacional.

sample relational database

Búsqueda por Facets

La búsqueda por facetas, una característica destacada de Solr, permite a los usuarios navegar por los productos de un sitio web aplicando múltiples filtros. Estos filtros, o facetas, clasifican la información en varias dimensiones, como precio, marca o categoría, lo que permite a los usuarios refinar sistemáticamente los resultados de su búsqueda.

En el contexto de SAP Commerce Cloud, la búsqueda por facetas transforma la experiencia de compra. Permite a los clientes profundizar en categorías de productos, filtrar resultados de búsqueda según atributos específicos y comparar fácilmente. Esta característica mejora la interfaz de usuario y agiliza el proceso de compra, mejorando significativamente la satisfacción del cliente y las tasas de conversión.

Solr vs Elasticsearch

Solr es una de las bases de datos NoSQL más populares del mercado, siendo Elasticsearch otro gigante del sector. Ambas plataformas cubren la mayor parte del mercado de bases de datos NoSQL actualmente. Otros actores del mercado están presionando fuerte, como Algolia, Splunk, Sphinx, o plataformas respaldadas por gigantes del sector como Microsoft Azure Search, Google Search Appliance o Amazon CloudSearch.

¿Cuál es mejor para tu proyecto, Solr o Elasticsearch? Si bien ambas plataformas son potentes motores de búsqueda basados ​​en Lucene, sus enfoques y funcionalidades satisfacen diferentes requisitos.

logo elasticsearch transparente

Performance

Solr es conocido por su sólido rendimiento y escalabilidad, particularmente en el manejo de consultas de búsqueda extensas. Puede gestionar índices considerables de manera eficiente, lo que lo hace ideal para aplicaciones de búsqueda de nivel empresarial como SAP Commerce. Elasticsearch, por otro lado, está diseñado teniendo en cuenta la búsqueda y el análisis en tiempo real, ofreciendo un procesamiento de datos rápido y una forma eficiente de manejar la transmisión de datos.

Características y Flexibilidad

Solr proporciona una amplia gama de funciones listas para usar, incluida la búsqueda de texto avanzada, navegación por facetas y manejo de documentos enriquecido. Su naturaleza flexible permite una amplia personalización para satisfacer necesidades comerciales específicas. Elasticsearch cuenta con una naturaleza distribuida, lo que lo hace más escalable y accesible para integrarse en arquitecturas de microservicios. Sus puntos fuertes son el manejo de consultas analíticas complejas y la agregación rápida de grandes volúmenes de datos.

En el entorno de SAP Commerce Cloud, el manejo básico de Solr es relativamente sencillo, permitiendo realizar configuraciones de backoffice para ajustar los parámetros de búsqueda de las webs. Sin embargo, si las necesidades van más allá de configuraciones básicas, siempre puedes ponerte en contacto con un Partner de Implementación de Solr de SAP Commerce para que se encargue del trabajo técnico pesado del proyecto por ti.

Cómo funciona el Servidor de Solr?

Solr se ejecuta en su propio servidor independiente, lo que permite una mayor escalabilidad y rendimiento. Las estrategias de clustering de la plataforma permiten un buen funcionamiento según la carga recibida, a la vez que exponen el contenido de Solr a otras aplicaciones. El proceso de instalación de Solr variará según la infraestructura comercial, si está alojada localmente o en la nube, ya sea SAP Cloud o AWS. Sin embargo, al ser un proyecto de código abierto, se puede gestionar con herramientas de instalación o configuración estándar como Docker.

En el corazón de la funcionalidad de Solr está su capacidad para procesar e indexar grandes cantidades de datos, haciéndolos accesibles y buscables casi en tiempo real. Esta lógica se ejecuta por detrás de SAP Commerce a la hora de buscar productos, navegar por categorías y filtrar por facetas, o los típicos cuadros de sugerencias mientras escribes en las barras de búsqueda. Veamos los diferentes archivos y elementos en nuestra plataforma de búsqueda.

Consola de Solr Server
Consola del Servidor de Solr

Ficheros Principales

  • Solr.xml. Este es el archivo de configuración central para una instancia de Solr, define las propiedades globales del servidor Solr y cómo interactúa con diferentes núcleos (índices).
  • Core.properties. Este archivo especifica las propiedades esenciales de cada núcleo, como su nombre y ajustes de configuración. Cada núcleo actúa como un motor de búsqueda independiente dentro de la instancia de Solr.
  • Solrconfig.xml. Contiene configuraciones para el funcionamiento de un núcleo de Solr, incluidas configuraciones de indexación y procesamiento de consultas, definición de controladores de solicitudes y configuración de listener y otras configuraciones relacionadas con el núcleo.
  • Managed-schema. Este archivo define la gestión del esquema de un núcleo de Solr, incluidos los campos y tipos de campos que pueden existir dentro de los documentos indexados. Es un componente crítico que determina cómo Solr interpreta y consulta los datos.

Items Principales

  • índice (Index). Un índice en Solr es una base de datos altamente optimizada para consultas de búsqueda. Almacena información en forma de documentos para facilitar resultados de búsqueda rápidos y precisos.
  • Documento (Document). En Solr, un documento es una unidad básica de información que se puede indexar y buscar. Es similar a un registro de base de datos relacional que comprende múltiples campos que almacenan los datos. En SAP Commerce OOTB, cada producto que se puede encontrar en el sitio web se representa como un documento en Solr.
  • Campo (Field). Los campos son los elementos dentro de un documento Solr, similares a las columnas en una tabla de base de datos. Cada campo tiene un tipo definido y un conjunto de propiedades que dictan cómo se maneja la información durante la indexación y la consulta. En nuestro ejemplo de hybris, el nombre o la descripción son campos dentro del documento del Producto.

Consultas en Solr

Las capacidades de consulta de Solr son sólidas y permiten diversas operaciones de búsqueda complejas. Admite consultas de búsqueda estándar, búsquedas por facetas, búsquedas espaciales y más, proporcionando un conjunto de herramientas versátil para acceder a datos indexados.

El proceso de consulta en Solr está altamente optimizado y aprovecha el índice invertido para localizar información rápidamente. Esto hace posible realizar búsquedas en tiempo real en extensos conjuntos de datos, una característica crítica para entornos dinámicos de comercio electrónico como SAP Commerce Cloud, donde el acceso rápido a la información del producto es esencial para la experiencia del usuario y el rendimiento empresarial.

Funciones de Consultas Avanzadas

Solr admite muchos tipos de consultas, desde búsquedas simples de palabras clave hasta consultas más complejas que involucran filtros, operaciones booleanas y comodines (wildcards). Esta flexibilidad permite a los desarrolladores crear interfaces de búsqueda intuitivas que manejan diversos requisitos de los usuarios, desde búsquedas sencillas de productos hasta filtrado detallado basado en atributos.

Además, la rica sintaxis de consulta de Solr admite búsquedas de proximidad, coincidencias aproximadas y expansión de sinónimos, lo que mejora la precisión y relevancia de la búsqueda. Estas funciones garantizan que los usuarios reciban los resultados más pertinentes, incluso con consultas parciales o mal escritas, lo que mejora la experiencia de búsqueda general.

sample db query

Indexación y Búsqueda en Tiempo Real

La capacidad de Solr para indexar documentos en tiempo real y hacer que se puedan buscar de inmediato es un activo fundamental para las plataformas de comercio electrónico. Esta característica garantiza que la información más reciente sobre productos, actualizaciones de precios y cambios de inventario se reflejen rápidamente en los resultados de búsqueda, lo que permite a las empresas proporcionar información actualizada a sus clientes y garantizar que no se les muestre información desactualizada.

Solr en SAP Commerce Cloud (hybris)

En SAP Commerce Cloud Out of the Box, Solr desempeña un papel fundamental en la gestión de funciones de búsqueda y navegación de productos, demostrando ser una herramienta poderosa para impulsar las ventas y mejorar la participación del cliente. Para conectarse fácilmente a SAP Commerce, plataforma basada en Java, se integra de forma nativa con un conector basado en SolrJ para Java.

Facets en Shoprite Checkers

Integración con Funciones de Commerce

La integración de Solr dentro de SAP Commerce Cloud se extiende más allá de las capacidades de búsqueda básicas. Respalda la experiencia de búsqueda de comercio electrónico de la plataforma, incluida la navegación, la comercialización y la entrega de contenido personalizado. Al aprovechar Solr, SAP Commerce puede ofrecer funciones de búsqueda sofisticadas como sugerencias automáticas, corrección ortográfica y clasificación personalizada, que son esenciales para una experiencia de compra perfecta.

Apache Solr se utiliza en los storefronts y servicios web de SAP Commerce en su versión estándar con los aceleradores de SAP Commerce. Aún así, también proporciona una herramienta valiosa para los gestores y enriquecedores de productos debido a su posición influyente como motor de búsqueda para el backoffice de SAP Commerce. Este índice de productos de Solr permite a los usuarios del backoffice de hybris navegar y filtrar productos, asegurando que el proceso de selección de productos sea lo más efectivo posible.

Gestionando Datos de Productos

En SAP Commerce, Solr indexa una amplia gama de datos de productos, incluidos nombres, descripciones, especificaciones o precios. Esta indexación integral permite un proceso de búsqueda altamente efectivo, lo que permite a los clientes encontrar productos rápidamente a través de diversos atributos y criterios si realizar queries a la base de datos relacional.

Además, la capacidad de búsqueda por facetas de Solr se utiliza meticulosamente en SAP Commerce para permitir a los clientes filtrar productos en función de múltiples dimensiones, como categoría, marca, rango de precios y opiniones de los clientes. Este enfoque multifacético de búsqueda y navegación mejora significativamente la capacidad del usuario para encontrar y comparar productos, lo que lleva a una mejor toma de decisiones y una mayor satisfacción.

Rendimiento y Escalabilidad

En el contexto de SAP Commerce Cloud, la arquitectura de Solr garantiza que las funciones de búsqueda escale de manera efectiva con el crecimiento del negocio. La naturaleza distribuida de Solr permite escalar a múltiples servidores para manejar un mayor tráfico y volumen de datos, asegurando un rendimiento de búsqueda consistente incluso durante las horas pico. Esta escalabilidad es crucial para las grandes plataformas de comercio electrónico que experimentan un tráfico fluctuante y catálogos de productos en continua expansión.

SAP Commerce también proporciona diferentes procesos de indexación modificables a través de ImpEx, lo que hace que su configuración sea simple y sin desarrollo. Esto permite que la plataforma indexe completamente todos los productos deseados en el núcleo Solr y ejecute trabajos de indexación de deltas con alta frecuencia, asegurando que el índice esté actualizado en todo momento minimizando el esfuerzo.

Resultados de búsqueda ofrecidos por Solr en la consola de Backoffice de SAP Commerce Cloud
Los resultados de búsqueda en forma de producto de SAP Commerce Cloud están proporcionados por Apache Solr.

Conclusión

Dentro del entorno de SAP Commerce Cloud, Apache Solr es una tecnología fundamental que impulsa las capacidades de búsqueda y navegación de la plataforma de comercio electrónico. Su sólida arquitectura, funcionalidades de búsqueda avanzadas y perfecta integración con SAP Commerce garantizan una experiencia de búsqueda superior que puede impactar significativamente el éxito de las operaciones del eCommerce.

Comprendiendo y aprovechando el poder de Solr, las empresas pueden mejorar sus plataformas de comercio electrónico y ofrecer resultados de búsqueda rápidos, precisos y relevantes que satisfagan las necesidades dinámicas de los consumidores modernos. En una era donde el acceso rápido y eficiente a la información es primordial, el papel de Solr en SAP Commerce Cloud se vuelve no sólo beneficioso sino esencial para la ventaja competitiva y la satisfacción de los clientes. Como de costumbre, desde el equipo de E-Turia podemos ayudar con proyectos de hybris, echa un vistazo a los servicios de desarrollo o contáctanos en el siguiente enlace:

Servicios de Desarrollo de SAP hybris
Contáctanos