Personalización de búsqueda para contenedores de servidor

El servidor de búsqueda del producto se ejecuta en su propio contenedor basado en Linux. Los contenedores utilizan tecnología Docker. Todos los servidores comparten espacios de trabajo en el entorno de desarrollo basado en Windows, simplificando el proceso de desarrollo. Después de desarrollar y probar su código en el espacio de trabajo, puede implementarlo en nuevos contenedores.

En HCL Commerce Version 9, los servidores de transacciones, búsqueda, personalización y tienda se ejecutan en contenedores independientes. La encapsulación del software de Docker de los servidores significa que casi toda la personalización de búsqueda ocurre dentro del contenedor del servidor de búsqueda. Las personalizaciones que tienen lugar dentro del servidor de búsqueda incluyen:

  • Todos los cambios relacionados con Solr, incluidas las palabras frecuentes y las personalizaciones de tipo de campo de esquema Solr.
  • Perfiles de búsqueda
  • Proveedores de expresiones de búsqueda
  • Funciones de preprocesador y preprocesador de consultas de búsqueda.
No todas las personalizaciones relacionadas con la búsqueda tienen lugar en el servidor de búsqueda. En concreto el preproceso de índice de búsqueda se produce en el servidor de transacciones. Durante el desarrollo, los servidores de búsqueda y de transacciones se ejecutan en el mismo espacio de trabajo, pero están encapsulados en contenedores separados durante el despliegue. Si crea su código personalizado para trabajar en el proyecto de kit de herramientas adecuado, dicho código se ejecuta en el contenedor correcto.
El espacio de trabajo contiene directorios para cada proyecto. Los directorios de proyecto y todos los subdirectorios y archivos pertinentes se listan en la siguiente tabla. Para más información sobre la organización de los proyectos de espacio de trabajo, consulte HCL Commerce espacio de trabajo.
Personalización Servidor (contenedor) Project Ejemplo
Código Java de preproceso Servidor de transacciones WebSphereCommerceServerExtensionsLogic Crear un proveedor de expresiones personalizado
Archivos de configuración de preproceso Servidor de transacciones
  • WC\xm\search\dataImport\v3\db2\wc-dataimport-preprocess-custom.xml
  • WC\xm\search\dataImport\v3\db2\wc-dataimport-preprocess-x-finalbuild.xml
Nota: No verá los cambios que realice en los archivos de XML preproceso hasta que ejecute un mandato DROP TABLE en la tabla correspondiente.
Guía de aprendizaje: Indexación de datos externos en la búsqueda de HCL Commerce
Configuraciones relacionadas con Solr Servidor de búsqueda search-config-ext\src\index\managed-solr\config\v3\* Limitación de términos y caracteres de búsqueda de la consulta de búsqueda
Configuraciones de búsqueda Servidor de búsqueda search-config-ext\src\runtime\config Configuración de la búsqueda
Código Java de búsqueda Servidor de búsqueda search-logic-ext Buscar

El proceso de desarrollo

Puede desarrollar para la búsqueda en el entorno de software de Docker HCL Commerce Version 9 en tres pasos.
  1. Prepare su código personalizado utilizando el kit de herramientas de desarrollo. Todos los servidores comparten los entornos de espacio de trabajo durante esta fase.
  2. Utilice la herramienta WCB para crear un paquete de personalización. Para más información sobre cómo configurar la herramienta WCB para extraer y crear paquetes, consulte Empaquetado del código personalizado para el despliegue.
  3. Crear y desplegar las imágenes de contenedor personalizadas. Para obtener instrucciones genéricas sobre cómo crear dichas imágenes, consulte Creación de una imagen de Docker personalizada a partir de un paquete desplegable.

La integración continua y la ejecución secuencial de despliegue continuo

Dado que los servidores se ejecutan en contenedores, puede sacar partido de la inclusión en contenedores e implementar una ejecución secuencial de continuous integration and continuous deployment (CI/CD). Una ejecución secuencial de CI/CD le ayuda a automatizar procesos en el ciclo de vida de desarrollo, desde que un desarrollador incorpora código hasta el despliegue del código en el entorno de producción. El proceso de desarrollo proporciona el lado de CI de dicha ejecución secuencial.

Una ejecución secuencial de CI/CD le ayuda a automatizar procesos en el ciclo de vida de desarrollo, desde que un desarrollador incorpora código hasta el despliegue del código en el entorno de producción. La ejecución secuencial incluye la transición, el control de versiones, la comprobación, el empaquetado y despliegue del código. Para obtener más información sobre cómo configurar una ejecución secuencial de CI/CD, consulte Planificar una ejecución secuencial de CI/CD.