Personalizar el servicio de búsqueda basado en Solr

En consonancia con el compromiso de HCL con los estándares actuales y abiertos, HCL Commerce Search utiliza Apache Lucene como base de su infraestructura de búsqueda. Lucene impulsa el motor de búsqueda Apache Solr y el motor de búsqueda Elasticsearch. El conducto de indexación es un proceso más abierto, flexible y escalable y está estrechamente integrado con el servicio de datos. Utilizando la arquitectura y la tecnología de flujo de datos subyacentes, puede personalizar fácilmente las canalizaciones . Este enfoque de estándares abiertos facilita considerablemente el proceso de integración de la búsqueda con aplicaciones existentes y de terceros.
HCL Commerce Searchutiliza un sistema basado en contenedor y de varios canales para la búsqueda y comercialización:
HCL Commerce Search

Cómo funciona la búsqueda basada en Solr

En la interfaz de usuario, la HCL Commerce Search interactúa con los usuarios y otros componentes del entorno de tienda utilizando solicitudes HTTP REST. En el servidor, fusiona la velocidad de las bases de datos relacionales con la flexibilidad del XML no estructurado. A medida que las consultas van llegando, el motor Solr de Apache las transforma en documentos XML cuyo contenido se compara con un índice detallado.

Las solicitudes de búsqueda tienen el siguiente ciclo de proceso.
  1. Un cliente entra una serie de búsqueda en el navegador. La sugerencia automática y la anticipación hacen que este proceso sea más fácil. El navegador envía la solicitud al escaparate mediante HTTP, en formato de una expresión JSON.
  2. La expresión se direcciona a la interfaz de búsqueda en el servidor principal o en un servidor de búsqueda dedicado. La interfaz de búsqueda puede dar cabida a varios idiomas y entornos de transacciones de gran volumen. La interfaz analiza la expresión y aplica correcciones ortográficas, realiza consultas al tesauro y otras optimizaciones. También asigna un perfil de búsqueda a la expresión de entrada (por ejemplo, declarándola que sea una solicitud ProductView).
  3. Cualquier número de reglas de negocio y comerciantes ahora pueden entrar en juego en el preproceso de expresión de la consulta. Los segmentos y perfiles de clientes también pueden alterar la expresión antes de que se procese. Los estados dinámicos tales como el contenido actual del carro de la compra del cliente también puede influir en la consulta en esta etapa. En situaciones B2B, las reglas de acceso y de autorizaciones pueden filtrar los resultados.
  4. El procesador de búsqueda compara el contenido finalizado de la expresión de búsqueda con los campos en el índice.
  5. El resultado de esta búsqueda puede procesarse de nuevo utilizando un proveedor de posproceso de expresión personalizable. Se crea una respuesta, aprovechando las características centradas en el cliente del escaparate, tales como la navegación por facetas, la vista previa y la navegación por el catálogo.
  6. La respuesta se devuelve como XML y puede procesarse más y presentarse de una manera adecuada, utilizando una página de destino, una vista previa, una sugerencia o dentro de un widget.
Al pasar por este ciclo, la solicitud de búsqueda interactúa con los siguientes componentes de servidor.

El servidor de búsqueda Solr

El servidor de búsqueda consta de un conjunto de servicios REST, una infraestructura de tiempo de ejecución de búsqueda y un conjunto de servicios de fundación de HCL Commerce que también proporciona acceso a la base de datos de producción. El motor de ejecución de búsqueda incluye los proveedores de expresiones de búsqueda y el procesador de expresiones. Todos estos servicios se ejecutan junto en un contenedor compacto. Con la excepción del preproceso de índice, las funciones relacionadas con la búsqueda tienen lugar dentro del contenedor.

Servicios REST

La interfaz de búsqueda utiliza REST para convertir la solicitud entrante en una llamada de recurso específica, por ejemplo una llamada ProductView. La expresión resultante se entrega al procesador de expresiones, donde se aplicará más lógica empresarial.

Proveedores de expresiones

En función del perfil de búsqueda de la solicitud, varios componentes de negocio pueden verse implicados, como por ejemplo Marketing para reglas de comercialización basadas en la búsqueda, o Contratos para la autorización. Cada componente de negocio aportar una parte de la expresión de búsqueda a través de su propio proveedor de expresiones. Cada contribución se combina con la principal expresión de búsqueda generada por los servicios REST. La expresión de búsqueda resultante la ejecuta el procesador de búsqueda.

El procesador de expresiones

El procesador de expresiones utiliza el motor de Solr para ejecutar la búsqueda respecto al índice y captura el resultado para el postproceso y la respuesta final.

El índice de búsqueda

El índice de búsqueda es la clave para la capacidad del sistema. Este índice es una tabla sin formato de gran tamaño que contiene campos de datos que están optimizados para el rendimiento de la búsqueda. Cada campo consta de un nombre, su contenido y metadatos que indican a HCL Commerce Search cómo manejar el contenido. Normalmente, los campos puede contener valores booleanos, números o series. Un campo es flexible, por lo que puede definir su propio tipo en el archivo de esquema del sistema.

Los artículos del catálogo deben estar en el índice para que se puedan buscar. Por lo tanto, antes de desplegar la búsqueda es necesario realizar un paso de indexación. El índice puede actualizarse a rangos regulares o cuando sea necesario durante el funcionamiento de la tienda. Durante el paso de indexación, Solr recopila, analiza y archiva datos de catálogo de la tienda para facilitar la recuperación rápida y precisa de información. En su énfasis en crear y optimizar un índice, el motor de Solr actúa más como una base de datos tradicional que un servidor web o un procesador de transacciones. Es su propia aplicación y puede residir en un servidor dedicado propio.