Configuración de HCL Commerce Developer Search environment

HCL Commerce Version 9.1 proporciona soporte a Elasticsearch de forma predeterminada. Utilice HCL Commerce Developer Search environment para realizar personalizaciones en la solución de búsqueda.

Nota: Si está utilizando la solución de búsqueda basada en Solr, utilice HCL Commerce Developer Legacy environment para desarrollar las personalizaciones de búsqueda. Para obtener más información, consulte:

Antes de empezar

HCL Commerce Developer Search environment requiere lo siguiente antes de poder utilizarlo para desarrollar las personalizaciones de búsqueda basadas en Elasticsearch:

  • Importante: La solución de búsqueda basada en Elasticsearch consume muchos recursos. Se recomienda dedicar recursos de hardware autónomo o de máquina virtual alojada y no ejecutarlo en una máquina de desarrollo local.
  • Antes de instalar HCL Commerce Developer, asegúrese de que su HCL Commerce development environment cumple los requisitos de hardware y software.
  • requiere una base de datos.

    admite y HCL Commerce Version 9.1.2.0 or later . Para obtener más información sobre cómo instalar y configurar una base de datos de entorno de desarrollo, consulte Instalar y configurar su base de datos de entorno de desarrollo.

  • HCL Cache almacena en memoria caché las clases que se pueden modificar en versiones más recientes de HCL Commerce. Para evitar errores al deserializar una versión antigua de la clase, es muy recomendable borrar las claves de Redis después de actualizar HCL Commerce. Las claves de Redis se pueden borrar con los mandatos Redis flushdb o flusall.
WindowsNota: Al usar Microsoft Windows:
  • Asegúrese de que se asignen amplios recursos a Docker.

    Para asignar recursos a Docker, haga clic con el botón derecho en el ejecutable de Docker o en el acceso directo a él y seleccione Avanzado. Asignar como mínimo 8 núcleos de CPU, 32 GB de memoria y 80 GB de almacenamiento para garantizar un rendimiento adecuado.

  • Asegúrese de que la siguiente configuración de red esté habilitada en la configuración Configuración de Docker > General:
    Expose daemon on tcp://localhost:2375 port

Procedimiento

  1. Obtenga las imágenes de Docker de HCL Commerce.
    Para iniciar el proceso de despliegue, descargue el software necesario.
    1. Revise la lista de los últimos paquetes de descarga disponibles para asegurarse de que obtiene la versión más actualizada del software de HCL Commerce.
    2. Acceda a la .
    3. Búsqueda del ID de paquete HCL_Commerce_Devops_Version_9.1, o el ID de archivo HCL_Commerce_DevOps_9.1.x.x.bundle.
    4. Descargue el archivo.
    5. Descargue las imágenes del Docker de datos.
      • HCL_Commerce_Enterprise_9.1.x.x_Data_Query_Server_x86-64.tgz
      • HCL_Commerce_Enterprise_9.1.x.x_Data_NiFi_Server_x86-64.tgz
      • HCL_Commerce_Enterprise_9.1.x.x_Data_NiFi_Registry_Server_x86-64.tgz
      • HCL_Commerce_Enterprise_9.1.x.x_Data_Ingest_Server_x86-64.tgz
      • Opcional:HCL_Commerce_Enterprise_9.1.x.x_Approval_Server_x86-64.tgz
      • Opcional:HCL_Commerce_Enterprise_9.1.x.x_GraphQL_Server_x86-64.tgz
      Cargue todas las imágenes de Docker. Ejecute el comando siguiente en cada archivo de imagen descargado.
      docker load -i imagename

      Por ejemplo:

      docker load -i HCL_Commerce_Enterprise_9.1.0.0_Data_Query_Server_x86-64.tgz
    6. Clone el proyecto en Git desde el paquete git descargado y compruebe el código en el sistema de gestión de control de origen. Ejecute el siguiente mandato.
      git clone bundleName projectName
      Donde:
      bundleName
      El nombre de archivo del paquete que está clonando.
      projectName
      El nombre del proyecto de Git que está creando.
      Por ejemplo:
      git clone HCL_Commerce_DevOps_9.1.0.0.bundle HCL_Commerce_DevOps
  2. Despliegue la solución de búsqueda basada en Elasticsearch .
    • HCL Commerce Version 9.1.6.0 or laterOpción de despliegue n.º 1: despliegue la solución de búsqueda basada en Elasticsearch a través del script de despliegue.

      Esta opción se limita a la implementación dentro de un entorno Linux, debido a la dependencia de scripts Bash (archivos de .sh).

      1. Actualice el script bash de env.sh con los detalles de su entorno.
        1. Abra el env.sh para editarlo.
        2. Establezca los siguientes detalles del entorno en función de su versión de .
          • HCL Commerce Version 9.1.12.0 or laterPara 9.1.12.0 y posteriores, deben establecerse los valores siguientes:
            SEARCH_ENGINE=elasticsearch
            DEPLOY_TYPE=toolkit
            LICENSE_ACCEPTED=accept
            
            TOOLKIT_HOST=<toolkitHost>
            TOOLKIT_HOST_IP=<toolkitHostIP>
            SEARCH_HOST=<searchHost>
            SEARCH_HOST_IP=<searchHostIP>
            
            DB_TYPE=<db2|oracle>
            DB_HOST=<databaseHost>
            DB_NAME=<databaseName>
            DB_USER=<databaseUser>
            DB_PASS=<databaseUserPassword>
            
            SEARCH_QUERY_IMAGE=<searchQueryImage>
            SEARCH_NIFI_IMAGE=<searchNifiImage>
            SEARCH_REGISTRY_IMAGE=<searchRegistryImage>
            SEARCH_INGEST_IMAGE=<searchIngestImage>
            
            SPIUSER_PWD_ENCRYPTED=<encryptedSpiUserPassord>
            ADMIN_SPIUSER_PWD=<plainTextSpiuserPassword>
            SPIUSER_PWD_BASE64=<base46SpiuserPassword>
          • HCL Commerce Version 9.1.12.0 or laterPara 9.1.12.0 y posteriores, puede establecer opcionalmente las configuraciones siguientes:
            APPROVAL_ENABLED=<true|false>
            APPROVAL_APP_IMAGE=<approvalImage>
            SESSION_KEY_ENCRYPT=<encryptedSessionKey>
            GRAPHQL_ENABLED=<true|false>
            GRAPHQL_APP_IMAGE=<graphqlImage>
            ALLOW_TELEMETRY=<yes|no>
            CACHE_ENABLED=<true|false>
            CACHE_APP_IMAGE=<cacheManagerImage>
          • Para 9.1.0.0 a 9.1.11.0:
            SEARCH_ENGINE=elasticsearch
            DEPLOY_TYPE=data
            DATA_FOR_TOOLKIT=true
            LICENSE_ACCEPTED=accept
            
            TOOLKIT_HOST=<toolkitHost>
            
            DB_TYPE=<db2|oracle>
            DB_HOST=<databaseHost>
            DB_NAME=<databaseName>
            DB_USER=<databaseUser>
            DB_PASS=<databaseUserPassword>
            
            SEARCH_QUERY_IMAGE=<searchQueryImage>
            SEARCH_NIFI_IMAGE=<searchNifiImage>
            SEARCH_REGISTRY_IMAGE=<searchRegistryImage>
            SEARCH_INGEST_IMAGE=<searchIngestImage>
            
            SPIUSER_PWD_ENCRYPTED=<encryptedSpiUserPassord>
            ADMIN_SPIUSER_PWD=<plainTextSpiuserPassword>
            SPIUSER_PWD_BASE64=<base46SpiuserPassword>
          Nota:
        3. Guarde y cierre el archivo.
        4. Haga una copia de seguridad del script de env.sh que contiene los detalles del entorno para futuras implementaciones.
      2. Si utiliza una base de datos de , asegúrese de que hay una copia del controlador JDBC necesario (ojdbc8.jar) ubicado dentro del directorio de volumes/jdbc/.
      3. Ejecute el script de Bash de implementación.
        ./deploy.sh
        Este script genera un archivo Docker Compose de búsqueda basado en Elasticsearch que, a su vez, se basa en la configuración del entorno en env.sh.
        • HCL Commerce Version 9.1.12.0 or laterPara 9.1.12.0 y posteriores, este archivo es docker-compose-toolkit.yml.
        • Para 9.1.0.0 a 9.1.11.0, este archivo es docker-compose-data.yml.

        La implementación establecerá el proyecto en commerce, por lo que los servicios de Docker creados tendrán el prefijo commerce_. Por ejemplo, commerce_nifi_1.

        El script de despliegue iniciará automáticamente la implementación.

    • HCL Commerce Version 9.1.6.0 or laterOpción de implementación n.º 2: Implemente la plataforma manualmente.

      Esta opción es la única implementación que es compatible con un sistema operativo host de Windows, debido a su no confianza en los scripts Bash (archivos .sh).

      1. Cree un archivo de implementación de Docker Compose para su entorno.
        1. Seleccione un archivo de plantilla Docker Compose de implementación basado en la base de datos que usará para la implementación.

          Los archivos de plantilla siguen la convención de nomenclatura: docker-compose-elasticsearch-data-<DB_TYPE>-toolkit-template.yml.

          Donde <DB_TYPE> puede ser db2 o oracle.

        2. Copie la plantilla en el archivo de implementación de Docker Compose (docker-compose-toolkit.yml).
        3. Añada servicios opcionales al archivo de despliegue de Docker Compose (docker-compose-toolkit.yml).
          • GraphQL (docker-compose-elasticsearch-svc-graphql-toolkit-template.yml)
          • Gestor de memoria caché (docker-compose-elasticsearch-data-toolkit-cache-app-svc-template.yaml)
        4. HCL Commerce Version 9.1.12.0 or later ( docker-compose-svc-approval-toolkit-template.yml)
          Nota: Además de incluir el contenido de esta plantilla de Docker Compose, para habilitar el debe sobrescribir volumes/approval-app/boot-config/app-secure.properties con el contenido de volumes/approval-app/boot-config/app-secure.properties.nonssl.
      2. Actualice el script bash de env.sh con los detalles de su entorno.
        1. Abra el env.sh para editarlo.
        2. Establezca los siguientes detalles del entorno en función de su versión de .
          • HCL Commerce Version 9.1.12.0 or laterPara 9.1.12.0 y posteriores, deben establecerse los valores siguientes:
            SEARCH_ENGINE=elasticsearch
            DEPLOY_TYPE=toolkit
            LICENSE_ACCEPTED=accept
            
            TOOLKIT_HOST=<toolkitHost>
            TOOLKIT_HOST_IP=<toolkitHostIP>
            SEARCH_HOST=<searchHost>
            SEARCH_HOST_IP=<searchHostIP>
            
            DB_TYPE=<db2|oracle>
            DB_HOST=<databaseHost>
            DB_NAME=<databaseName>
            DB_USER=<databaseUser>
            DB_PASS=<databaseUserPassword>
            
            SEARCH_QUERY_IMAGE=<searchQueryImage>
            SEARCH_NIFI_IMAGE=<searchNifiImage>
            SEARCH_REGISTRY_IMAGE=<searchRegistryImage>
            SEARCH_INGEST_IMAGE=<searchIngestImage>
            
            SPIUSER_PWD_ENCRYPTED=<encryptedSpiUserPassord>
            ADMIN_SPIUSER_PWD=<plainTextSpiuserPassword>
            SPIUSER_PWD_BASE64=<base46SpiuserPassword>
          • HCL Commerce Version 9.1.12.0 or laterPara 9.1.12.0 y posteriores, puede establecer opcionalmente las configuraciones siguientes:
            APPROVAL_ENABLED=<true|false>
            APPROVAL_APP_IMAGE=<approvalImage>
            SESSION_KEY_ENCRYPT=<encryptedSessionKey>
            GRAPHQL_ENABLED=<true|false>
            GRAPHQL_APP_IMAGE=<graphqlImage>
            ALLOW_TELEMETRY=<yes|no>
            CACHE_ENABLED=<true|false>
            CACHE_APP_IMAGE=<cacheManagerImage>
          • Para 9.1.0.0 a 9.1.11.0:
            SEARCH_ENGINE=elasticsearch
            DEPLOY_TYPE=data
            DATA_FOR_TOOLKIT=true
            LICENSE_ACCEPTED=accept
            
            TOOLKIT_HOST=<toolkitHost>
            
            DB_TYPE=<db2|oracle>
            DB_HOST=<databaseHost>
            DB_NAME=<databaseName>
            DB_USER=<databaseUser>
            DB_PASS=<databaseUserPassword>
            
            SEARCH_QUERY_IMAGE=<searchQueryImage>
            SEARCH_NIFI_IMAGE=<searchNifiImage>
            SEARCH_REGISTRY_IMAGE=<searchRegistryImage>
            SEARCH_INGEST_IMAGE=<searchIngestImage>
            
            SPIUSER_PWD_ENCRYPTED=<encryptedSpiUserPassord>
            ADMIN_SPIUSER_PWD=<plainTextSpiuserPassword>
            SPIUSER_PWD_BASE64=<base46SpiuserPassword>
          Nota:
        3. Guarde y cierre el archivo.
        4. Haga una copia de seguridad del script de env.sh que contiene los detalles del entorno para futuras implementaciones.
      3. Copie los valores configurados de env.sh en el archivo de Docker .env en el mismo nivel que el archivo de Docker Compose (docker-compose-toolkit.yml). Esto permite a docker-compose utilizar estas variables de entorno en la implementación.
      4. Establezca permisos de archivo para sus volúmenes persistentes.

        Algunos volúmenes se montan en los contenedores en ejecución y requieren permisos de escritura.

        Asegúrese de establecer de forma recursiva el acceso de escritura a /volumes/, para asegurarse de que él y todos los subdirectorios contenidos son grabables.

      5. Ejecute el siguiente comando para iniciar la plataforma de datos de Elasticsearch.
        docker-compose up -d
    • Opción de implementación heredada: Implemente manualmente una versión heredada de la plataforma.
      En caso de que necesite admitir una versión anterior a la 9.1 de , esta opción es el único método disponible para desplegar la plataforma de datos correspondiente basada en Elasticsearch.
      • Esta opción de despliegue ya no es compatible con la versión de 9.1.6.0 y superiores.
      • Esta es la única opción de implementación para versiones 9.1.0.0 a 9.1.5.0.
      1. Desde la carpeta docker-compose, copie el archivo DB2docker-compose-elasticSearch-data-db2-toolkit-template.yml o Oracledocker-compose-elasticSearch-data-oracle-toolkit-template.yml a docker-compose.yml.
      2. Actualice la etiqueta de imagen .yml para todos los contenedores de Docker de HCL Commerce.
        1. Determine la imagen repository y tag ejecutando las imágenes de Docker.
        2. Actualice cada etiqueta de imagen en el archivo .yml con su respectivo repository:tag. Por ejemplo, image: commerce/search-nifi-app:9.1.0.0
      3. Acepte el parámetro LICENSE para todos los dockers de la ventana acoplable, por ejemplo: - LICENSE=accept
      4. Actualice la siguiente configuración para que NIFI seleccione la base de datos .
          AUTH_JDBC_URL: "jdbc:DBType://DBHost:50000/mall"
          AUTH_JDBC_DRIVER_LOCATION: "/opt/nifi/nifi-current/lib/DBDriver"
          AUTH_JDBC_USER_NAME: "DBUser"
          AUTH_JDBC_USER_PASSWORD: "DBUserPassword"
          NLP_ENABLE_LANGUAGE_CODE: "nlpEnableLanguageCode"

        Por ejemplo:

        DB2
        AUTH_JDBC_URL: "jdbc:db2://tk.hclcommerce.com:50000/mall"
          AUTH_JDBC_DRIVER_LOCATION: "/opt/nifi/nifi-current/lib/db2jcc4.jar"
          AUTH_JDBC_USER_NAME: "wcs"
          AUTH_JDBC_USER_PASSWORD: "wcs1"
          NLP_ENABLE_LANGUAGE_CODE: "EN"
        Oracle
        AUTH_JDBC_URL: "jdbc:oracle:thin:@//tk.hclcommerce.com:1521/orclpdb1"
        AUTH_JDBC_DRIVER_CLASSNAME: "oracle.jdbc.driver.OracleDriver"
        AUTH_JDBC_DRIVER_LOCATION: "/opt/nifi/nifi-current/lib/ojdbc8.jar"
        AUTH_JDBC_USER_NAME: "wcs"
        AUTH_JDBC_USER_PASSWORD: "wcs1"
        NLP_ENABLE_LANGUAGE_CODE: "EN"
      5. Actualice la configuración para data-query:
          TX_HOST: "TXHost"

        Por ejemplo:

        TX_HOST: "tk.hclcommerce.com"
      6. Cree los siguientes subdirectorios dentro del mismo directorio donde se encuentra docker-compose.yml y asegúrese de que sus permisos estén configurados en 777.
        Importante: Si está actualizando de 9.1.0.0 o 9.1.1.0 a una versión más reciente de , o si tiene algún problema relacionado con el índice de búsqueda o el conector de servicio NiFi, debe eliminar el contenido de estos directorios.
        • nifiLogs
        • HCL Commerce Version 9.1.1.0 or laterelasticsearch/data
        • HCL Commerce Version 9.1.1.0 or laterelasticsearch/config
        • HCL Commerce Version 9.1.1.0 or laterzookeeper
        • HCL Commerce Version 9.1.1.0 or laternifi/data
        • HCL Commerce Version 9.1.2.0 or laterredis/data
      7. HCL Commerce Version 9.1.2.0 or laterCopie la carpeta hcl-cache-search en la misma ubicación en la que se encuentra el archivo de Docker Compose (docker-compose.yml).
      8. Si utiliza o una base de datos, asegúrese de que hay una copia del controlador JDBC necesario (ojdbc8.jar) en el mismo directorio donde se encuentra el archivo de composición de Docker (docker-compose.yml).
      9. Ejecute el siguiente comando para iniciar la plataforma de datos de Elasticsearch.
        docker-compose up -d
  3. Verifique que todos los contenedores estén en buen estado.
  4. Establezca sus variables de entorno de Elasticsearch del HCL Commerce development environment.
    Nota: Si desea cambiar al motor de búsqueda de Solr en un momento posterior, realice una copia de seguridad de jndi.xmlen Liberty_Dir\usr\servers\crsServer\configDropins\overrides\ y namebindings.xml en WCDE_InstallDir\wasprofile\config\cells\localhost\nodes\localhost\servers\server1\. A continuación, podrá volver a Solr con una copia de seguridad de Elasticsearch.
    1. Vaya al directorio WCDE_InstallDir/bin.
    2. Ejecute el siguiente script de mandato:
      configureElasticSearch.bat elasticSearchDataQueryHost elasticSearchDataQueryPort elasticSearchIngestHost elasticSearchIngestPort elasticSearchHost elasticSearchPort elasticSearchScheme HCL Commerce Version 9.1.3.0 or laterredisHost HCL Commerce Version 9.1.3.0 or laterredisPort toolingSDKInstallDir reactStoreSDKInstallDir

      Donde:

      elasticSearchDataQueryHost
      El nombre de host o dirección IP de la consulta Elasticsearch.
      elasticSearchDataQueryPort
      El número de puerto de consulta de Elasticsearch.
      elasticSearchIngestHost
      El nombre de host o la dirección IP de Ingest de Elasticsearch.
      elasticSearchIngestPort
      El número de puerto de Ingest de Elasticsearch.
      elasticSearchHost
      El nombre de host o la dirección IP de Elasticsearch.
      elasticSearchPort
      El número de puerto Elasticsearch.
      elasticSearchScheme
      El esquema de URL de Elasticsearch. Valores: http o https.
      HCL Commerce Version 9.1.3.0 or laterRedisHost
      El nombre de host o dirección IP de Redis.
      HCL Commerce Version 9.1.3.0 or laterRedisPort
      El número de puerto de Redis.
      toolingSDKInstallDir
      El directorio de instalación local del fit de desarrollo de software de HCL Commerce Developer Tooling environment.
      Nota:
      • Si la vía de acceso toolingSDKInstallDir contiene espacios, asegúrese de que está completamente introducida entre comillas dobles ("").
      reactStoreSDKInstallDir
      Opcional: el directorio de instalación local del kit de desarrollo de software HCL Commerce Developer React Store environment.
      Nota:
      • El parámetro reactStoreSDKInstallDir es opcional.
      • Si la ruta reactStoreSDKInstallDir contiene espacios, asegúrese de que está completamente encapsulada entre comillas dobles ("").
      Por ejemplo:
      configureElasticSearch.bat elasticsearch.commerce.com 30921 elasticsearch.commerce.com 30801 elasticsearch.commerce.com 30200 http elasticsearch.commerce.com 6379 C:\git-src\github01\toolingsdk C:\git-src\github01\store-web
  5. Opcional: Habilite HCL Commerce Cache Manager application.
    HCL Commerce Version 9.1.12.0 or laterNota: Para las versiones de HCL Commerce 9.1.12.0 y posteriores, la aplicación Gestor de la memoria caché se puede desplegar más fácilmente actualizando el archivo env.sh con CACHE_ENABLED=true y, a continuación, especificando el CACHE_APP_IMAGE.
  6. HCL Commerce Version 9.1.12.0 or later Si está actualizando las versiones de HCL Commerce 9.1.11.0 a 9.1.12.0 u otras versiones posteriores, deberá actualizar la base de datos para iniciar el Marketplace de Emerald o Sapphire.
    En una indicación de comando de base de datos, ejecute el SQL siguiente.
    insert into storeconf values(32,'hcl.marketplace.self-registration','true',1);
    insert into storeconf values(31,'hcl.marketplace.self-registration','true',1);

Resultados

HCL Commerce development environment está ahora configurado para desarrollar personalizaciones de búsqueda basadas en Elasticsearch.

Qué hacer a continuación

Cree el índice de búsqueda Elasticsearch. Para crear el índice de búsqueda, consulte Crear el índice de Elasticsearch.