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.
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.
- Pour connaître la configuration logicielle requise, voir Niveaux, correctifs et paramètres de logiciels pris en charge pour HCL Commerce.
- Pour connaître la configuration matérielle requise, voir Configuration matérielle requise pour HCL Commerce.
- Le nécessite une base de données.
Le prend en charge et
. 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.
Remarque : 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 :
Expose daemon on tcp://localhost:2375 port
Procédure
- Obtenez les images Docker HCL Commerce.Pour démarrer le processus de déploiement, téléchargez le logiciel requis.
- 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.
- Passez à la section .
- Recherchez l'ID de package HCL_Commerce_Devops_Version_9.1, ou l'ID de fichier HCL_Commerce_DevOps_9.1.x.x.bundle.
- Téléchargez le fichier.
- 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
docker load -i imagenamePar exemple :
docker load -i HCL_Commerce_Enterprise_9.1.0.0_Data_Query_Server_x86-64.tgz - 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 :
Où :git clone bundleName projectName- bundleName
- Nom de fichier du groupement que vous clonez.
- projectName
- Nom du projet git que vous créez.
git clone HCL_Commerce_DevOps_9.1.0.0.bundle HCL_Commerce_DevOps
-
Déployez la solution de recherche basée sur Elasticsearch .
Option 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).
- Mettez à jour le script bash env.sh avec les détails de votre environnement.
- Ouvrez le fichier env.sh en édition.
- Définissez les détails d'environnement suivants en fonction de votre version de .
Pour 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>
Pour 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 :
- Pour plus d'informations sur le fichier de configuration env.conf , examinez Fichier de configuration env.sh pour le déploiement de Docker Compose.
- Enregistrez et fermez le fichier.
- Sauvegardez le script env.sh contenant les détails de votre environnement pour un futur déploiement.
- 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/.
- Exécutez le script bash de déploiement.
./deploy.shCe script produit un fichier Docker Compose de recherche basée sur Elasticsearch basé sur la configuration de l'environnement dans env.sh.
Pour 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éfixecommerce_. Par exemple,commerce_nifi_1.Le script de déploiement démarrera automatiquement le déploiement.
- Mettez à jour le script bash env.sh avec les détails de votre environnement.
Option 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).
- Créez un fichier de déploiement Docker Compose pour votre environnement.
- 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.
Où <DB_TYPE> peut être db2 ou oracle.
- Copiez le modèle dans votre fichier de déploiement Docker Compose (docker-compose-toolkit.yml).
- 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)
( 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.
- 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.
- Mettez à jour le script bash env.sh avec les détails de votre environnement.
- Ouvrez le fichier env.sh en édition.
- Définissez les détails d'environnement suivants en fonction de votre version de .
Pour 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>
Pour 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 :
- Pour plus d'informations sur le fichier de configuration env.conf , examinez Fichier de configuration env.sh pour le déploiement de Docker Compose.
- Enregistrez et fermez le fichier.
- Sauvegardez le script env.sh contenant les détails de votre environnement pour un futur déploiement.
- 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.
- 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.
- Exécutez la commande suivante pour démarrer la solution de recherche Elasticsearch .
docker-compose up -d
- Créez un fichier de déploiement Docker Compose pour votre environnement.
- 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 .
- Dans le dossier docker-compose, copiez le fichier
docker-compose-elasticSearch-data-db2-toolkit-template.yml ou
docker-compose-elasticSearch-data-oracle-toolkit-template.yml dans docker-compose.yml. - Mettez à jour la balise d'image .yml pour tous les conteneurs Docker HCL Commerce.
- Déterminez l'image repository et tag en exécutant les images Docker.
- 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
- Acceptez le paramètre LICENSE pour tous les conteneurs Docker , par exemple :
- LICENSE=accept - 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 :

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"
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" - Mettez à jour la configuration pour data-query.
TX_HOST: "TXHost"Par exemple :
TX_HOST: "tk.hclcommerce.com" - 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
elasticsearch/data
elasticsearch/config
zookeeper
nifi/data
redis/data
Copiez le dossier hcl-cache-search vers l'emplacement où le fichier Docker Compose (docker-compose.yml) se trouve.- 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).
- Exécutez la commande suivante pour démarrer la solution de recherche Elasticsearch .
docker-compose up -d
- Vérifiez que tous les conteneurs sont en bon état.
- 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.
- Facultatif :
Activez le HCL Commerce Cache Manager application.
Remarque : 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 leCACHE_APP_IMAGE.
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.
redisHost