Configuration de l'HCL Commerce Developer Search environment

HCL Commerce Version 9.1 fournit la prise en charge d'Elasticsearch par défaut. Utilisez HCL Commerce Developer Search environment pour effectuer des personnalisations au niveau de la solution de recherche.

Remarque : Si vous utilisez la solution de recherche basée sur Solr, utilisez HCL Commerce Developer Legacy environment pour développer vos personnalisations de recherche. Pour plus d'informations, voir :

Avant de commencer

HCL Commerce Developer Search environment nécessite les opérations suivantes pour que vous puissiez l'utiliser pour développer vos personnalisations de recherche basées sur Elasticsearch :

  • Important : La solution de recherche basée sur Elasticsearch est gourmande en ressources. Il est recommandé de dédier du matériel autonome ou des ressources de machine virtuelle hébergée et de ne pas l'exécuter sur une machine de développement locale.
  • Avant d'installer HCL Commerce Developer, assurez-vous que HCL Commerce development environment répond aux configurations matérielles et logicielles requises.
  • Le nécessite une base de données.

    Le prend en charge et HCL Commerce Version 9.1.2.0 or later. Pour plus d'informations sur l'installation et la configuration d'une base de données d'environnement de développement, voir Installer et configurer votre base de données d'environnement de développement,

  • HCL Cache met en cache les classes qui peuvent être modifiées dans les versions plus récentes de HCL Commerce. Pour éviter les erreurs de désérialisation d'une ancienne version de la classe, il est fortement recommandé d'effacer les clés Redis après la mise à niveau de HCL Commerce. Les clés Redis peuvent être effacées avec les commandes Redis flushdb ou flushall.
WindowsRemarque : En cas d'utilisation de Microsoft Windows :
  • Assurez-vous que des ressources suffisantes sont allouées à Docker.

    Pour allouer des ressources à Docker, cliquez avec le bouton droit de la souris sur votre exécutable Docker, ou raccourci vers ce dernier, puis sélectionnez Avancé. Allouer au minimum : 8 cœurs de processeur, 32 Go de mémoire et 80 Go de stockage pour garantir des performances adéquates.

  • Assurez-vous que le paramètre réseau suivant est activé dans les paramètres Paramètres Docker > Général :
    Expose daemon on tcp://localhost:2375 port

Procédure

  1. Obtenez les images Docker HCL Commerce.
    Pour démarrer le processus de déploiement, téléchargez le logiciel requis.
    1. Consultez la liste des derniers packages de téléchargement disponibles pour vous assurer que vous obtenez la version la plus récente du logiciel HCL Commerce.
    2. Passez à la section .
    3. Recherchez l'ID de package HCL_Commerce_Devops_Version_9.1, ou l'ID de fichier HCL_Commerce_DevOps_9.1.x.x.bundle.
    4. Téléchargez le fichier.
    5. Téléchargez les images Docker de données.
      • 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
      • Facultatif :HCL_Commerce_Enterprise_9.1.x.x_Approval_Server_x86-64.tgz
      • Facultatif :HCL_Commerce_Enterprise_9.1.x.x_GraphQL_Server_x86-64.tgz
      Chargez chaque image Docker. Exécutez la commande suivante pour chaque fichier image téléchargé.
      docker load -i imagename

      Par exemple :

      docker load -i HCL_Commerce_Enterprise_9.1.0.0_Data_Query_Server_x86-64.tgz
    6. Clonez le projet dans Git à partir du groupement git téléchargé et vérifiez le code dans votre système de gestion de contrôle source. Exécutez la commande suivante :
      git clone bundleName projectName
      Où :
      bundleName
      Nom de fichier du groupement que vous clonez.
      projectName
      Nom du projet git que vous créez.
      Par exemple :
      git clone HCL_Commerce_DevOps_9.1.0.0.bundle HCL_Commerce_DevOps
  2. Déployez la solution de recherche basée sur Elasticsearch .
    • HCL Commerce Version 9.1.6.0 or laterOption de déploiement n°1 : Ddployez la solution de recherche basée sur Elasticsearch via le script de déploiement.

      Cette option est limitée au déploiement dans un environnement Linux en raison de la dépendance aux scripts Bash (fichiers .sh).

      1. Mettez à jour le script bash env.sh avec les détails de votre environnement.
        1. Ouvrez le fichier env.sh en édition.
        2. Définissez les détails d'environnement suivants en fonction de votre version de .
          • HCL Commerce Version 9.1.12.0 or laterPour versions 9.1.12.0 et ultérieures, les valeurs suivantes doivent être définies :
            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 laterPour versions 9.1.12.0 et ultérieures, définissez éventuellement les configurations suivantes :
            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>
          • Pour versions 9.1.0.0 à 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>
          Remarque :
        3. Enregistrez et fermez le fichier.
        4. Sauvegardez le script env.sh contenant les détails de votre environnement pour un futur déploiement.
      2. Si vous utilisez une base de données , assurez-vous qu'une copie du pilote JDBC requis (ojdbc8.jar) se trouve dans le répertoire volumes/jdbc/.
      3. Exécutez le script bash de déploiement.
        ./deploy.sh
        Ce script produit un fichier Docker Compose de recherche basée sur Elasticsearch basé sur la configuration de l'environnement dans env.sh.
        • HCL Commerce Version 9.1.12.0 or laterPour versions 9.1.12.0 et ultérieures, ce fichier est docker-compose-toolkit.yml.
        • Pour versions 9.1.0.0 à 9.1.11.0, ce fichier est docker-compose-data.yml.

        Le déploiement définira le projet sur commerce, de sorte que les services Docker créés auront le préfixe commerce_. Par exemple, commerce_nifi_1.

        Le script de déploiement démarrera automatiquement le déploiement.

    • HCL Commerce Version 9.1.6.0 or laterOption de déploiement n°2 : Déployez la plateforme manuellement.

      Cette option est le seul déploiement compatible avec un système d'exploitation hôte Windows en raison de son absence de dépendance aux scripts Bash (fichiers .sh).

      1. Créez un fichier de déploiement Docker Compose pour votre environnement.
        1. Sélectionnez un fichier modèle de déploiement Docker Compose basé sur la base de données que vous utiliserez pour le déploiement.

          Les fichiers modèles respectent la convention de dénomination : docker-compose-elasticsearch-data-<DB_TYPE>-toolkit-template.yml.

          <DB_TYPE> peut être db2 ou oracle.

        2. Copiez le modèle dans votre fichier de déploiement Docker Compose (docker-compose-toolkit.yml).
        3. Ajoutez des services facultatifs à votre fichier de déploiement Docker Compose (docker-compose-toolkit.yml).
          • GraphQL (docker-compose-elasticsearch-svc-graphql-toolkit-template.yml)
          • Gestionnaire de cache (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)
          Remarque : En plus d'inclure le contenu de ce modèle Docker Compose, pour activer le , vous devez remplacer volumes/approval-app/boot-config/app-secure.properties par le contenu de volumes/approval-app/boot-config/app-secure.properties.nonssl.
      2. Mettez à jour le script bash env.sh avec les détails de votre environnement.
        1. Ouvrez le fichier env.sh en édition.
        2. Définissez les détails d'environnement suivants en fonction de votre version de .
          • HCL Commerce Version 9.1.12.0 or laterPour versions 9.1.12.0 et ultérieures, les valeurs suivantes doivent être définies :
            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 laterPour versions 9.1.12.0 et ultérieures, définissez éventuellement les configurations suivantes :
            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>
          • Pour versions 9.1.0.0 à 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>
          Remarque :
        3. Enregistrez et fermez le fichier.
        4. Sauvegardez le script env.sh contenant les détails de votre environnement pour un futur déploiement.
      3. Copiez vos valeurs env.sh configurées dans le fichier .env Docker au même niveau que votre fichier Docker Compose (docker-compose-toolkit.yml). Cela permet à docker-compose d'utiliser ces variables d'environnement dans le déploiement.
      4. Définissez les droits des fichiers pour vos volumes persistants.

        Certains volumes sont montés sur vos conteneurs en cours d'exécution et nécessitent des droits d'écriture.

        Veillez à définir de façon récurrente l'accès en écriture à /volumes/ pour vous assurer que celui-ci et tous les sous-répertoires contenus sont accessibles en écriture.

      5. Exécutez la commande suivante pour démarrer la solution de recherche Elasticsearch .
        docker-compose up -d
    • Option de déploiement existante : Déployez manuellement une version existante de la plateforme.
      Si vous devez prendre en charge une version antérieure de  9.1, cette option est la seule méthode disponible pour déployer sa solution Elasticsearch correspondante.
      • Cette option de déploiement n'est plus prise en charge avec  9.1.6.0 et les versions supérieures.
      • Il s'agit de la seule option de déploiement pour les versions 9.1.0.0 à 9.1.5.0 de .
      1. Dans le dossier docker-compose, copiez le fichier DB2docker-compose-elasticSearch-data-db2-toolkit-template.yml ou Oracledocker-compose-elasticSearch-data-oracle-toolkit-template.yml dans docker-compose.yml.
      2. Mettez à jour la balise d'image .yml pour tous les conteneurs Docker HCL Commerce.
        1. Déterminez l'image repository et tag en exécutant les images Docker.
        2. Mettez à jour chaque balise d'image dans le fichier .yml avec son repository:tag respectif. Par exemple, image: commerce/search-nifi-app:9.1.0.0
      3. Acceptez le paramètre LICENSE pour tous les conteneurs Docker , par exemple : - LICENSE=accept
      4. Mettez à jour la configuration suivante pour que NiFi pointe vers la base de données .
          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"

        Par exemple :

        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. Mettez à jour la configuration pour data-query.
          TX_HOST: "TXHost"

        Par exemple :

        TX_HOST: "tk.hclcommerce.com"
      6. Créez les sous-répertoires suivants dans le même répertoire où se trouve docker-compose.yml, et assurez-vous que leurs droits sont définis sur 777.
        Important : Si vous faites une mise à niveau depuis la version 9.1.0.0 ou 9.1.1.0 vers une version plus récente de , ou si vous avez des problèmes liés à l'index de recherche ou au connecteur de service NiFi, vous devez supprimer le contenu de ces répertoires.
        • 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 laterCopiez le dossier hcl-cache-search vers l'emplacement où le fichier Docker Compose (docker-compose.yml) se trouve.
      8. Si vous utilisez ou une base de données, assurez-vous qu'il existe une copie du pilote JDBC requis (ojdbc8.jar) dans le même répertoire que celui du fichier Docker compose (docker-compose.yml).
      9. Exécutez la commande suivante pour démarrer la solution de recherche Elasticsearch .
        docker-compose up -d
  3. Vérifiez que tous les conteneurs sont en bon état.
  4. Définissez vos variables d'environnement Elasticsearch HCL Commerce development environment.
    Remarque : Si vous souhaitez revenir à une donnée ultérieure du moteur de recherche Solr, faites une sauvegarde de jndi.xml sous Liberty_Dir\usr\servers\crsServer\configDropins\overrides\, et namebindings.xml sous WCDE_InstallDir\wasprofile\config\cells\localhost\nodes\localhost\servers\server1\. Ensuite, vous pouvez revenir à Solr avec vos paramètres Elasticsearch sauvegardés.
    1. Accédez au répertoire WCDE_InstallDir/bin.
    2. Exécutez le script de commande suivant :
      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

      Où :

      elasticSearchDataQueryHost
      Nom d'hôte ou adresse IP de la requête Elasticsearch.
      elasticSearchDataQueryPort
      Numéro de port de requête Elasticsearch.
      elasticSearchIngestHost
      Nom d'hôte ou adresse IP Ingest d'Elasticsearch.
      elasticSearchIngestPort
      Numéro de port Ingest Elasticsearch.
      elasticSearchHost
      Nom d'hôte ou adresse IP Elasticsearch.
      elasticSearchPort
      Numéro de port Elasticsearch.
      elasticSearchScheme
      Schéma d'URL Elasticsearch. Valeurs : http ou https.
      HCL Commerce Version 9.1.3.0 or laterRedisHost
      Le nom d'hôte ou l'adresse IP Redis.
      HCL Commerce Version 9.1.3.0 or laterRedisPort
      Le numéro de port Redis.
      toolingSDKInstallDir
      Répertoire d'installation local du kit de développement logiciel HCL Commerce Developer Tooling environment.
      Remarque :
      • Si le chemin toolingSDKInstallDir contient des espaces, assurez-vous qu'il est entièrement encapsulé entre guillemets doubles ("").
      reactStoreSDKInstallDir
      Facultatif : répertoire d'installation local du kit de développement logiciel HCL Commerce Developer React Store environment.
      Remarque :
      • Le paramètre reactStoreSDKInstallDir est facultatif.
      • Si le chemin reactStoreSDKInstallDir contient des espaces, assurez-vous qu'il est entièrement encapsulé entre guillemets doubles ("").
      Par exemple :
      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. Facultatif : Activez le HCL Commerce Cache Manager application.
    HCL Commerce Version 9.1.12.0 or laterRemarque : Pour les HCL Commerce éditions 9.1.12.0 et ultérieures, l'application Gestionnaire de cache peut être déployée plus facilement en mettant à jour le fichier env.sh avec CACHE_ENABLED=true, puis en spécifiant le CACHE_APP_IMAGE.
  6. HCL Commerce Version 9.1.12.0 or later Si vous effectuez une mise à niveau depuis HCL Commerce version 9.1.11.0 vers la version 9.1.12.0 ou ultérieure, vous devez mettre à jour la base de données pour lancer la place de marché Emerald ou Sapphire.
    Dans une invite de commande de base de données, exécutez le SQL suivant.
    insert into storeconf values(32,'hcl.marketplace.self-registration','true',1);
    insert into storeconf values(31,'hcl.marketplace.self-registration','true',1);

Résultats

Votre HCL Commerce development environment est maintenant configuré pour développer des personnalisations de recherche basées sur Elasticsearch.

Que faire ensuite

Créez votre index de recherche Elasticsearch. Pour créer votre index de recherche, voir Création de l'index Elasticsearch.