Génération de l'index HCL Commerce Search
Vous pouvez générer l'index HCL Commerce Search à l'aide de l'appel RESTful d'index de génération. Si vous utilisez le moteur de recherche Solr, l'index est généré à l'aide du service Gestionnaire d'importation de données (DIH). Si vous utilisez Elasticsearch, le service Ingest est appelé. Pour plus d'informations, voir Création de l'index Elasticsearch.
Avant de commencer
Si vous utilisez Apache Solr comme plateforme de recherche, assurez-vous que les conditions préalables suivantes ont été remplies.
- Environnement de développement
- Assurez-vous que Transaction server et Search server sont démarrés dans Rational Application Developer.
- Assurez-vous que vous pouvez visiter Solr via HTTP, par exemple : http://search_hostname:search_http_port/solr/admin/cores?
- Environnement d'exécution
- Vérifiez que le serveur de transactions et le serveur de recherche sont en cours d'exécution.
- Assurez-vous que vous pouvez visiter Solr sur HTTP, par exemple http://search_hostname:search_http_port/solr/admin/cores? . Vous utiliserez HTTPS pour effectuer l'appel d'index de génération réel. Vous pouvez exécuter les requêtes POST HTTPS à l'aide d'un module complémentaire de navigateur, par exemple, HttpRequester pour Mozilla Firefox ou Postman pour Google Chrome.
- Dans les deux environnements, assurez-vous d'avoir mis à jour les certificats du serveur de transactions savant de passer l'appel REST Générer l'index. Ajoutez le certificat à la liste d'approbation de votre navigateur en accédant directement à l'URL de requête avec le navigateur. Deux solutions sont possibles :
- Si vous utilisez un plug-in client HTTP, tel que Postman, DHC ou HttpRequester, rendez-vous sur l'URL d'index de génération à l'aide du navigateur dans lequel le plug-in est installé et ajoutez une exception pour le certificat autosigné. Ensuite, appelez l'index de connexion SPI REST d'index de génération à l'aide du plug-in.
- A partir d'une invite de commande, entrez la commande suivante :
curl -k -s -X POST -u spiuser:spi_plain_text_password https://ts-server-hostname:ts-https-prt/wcs/resources/admin/index/dataImport/build?masterCatalogId=master-catalog-id
Procédure
-
Exécutez la commande REST de génération d'index. La méthode est POST, et vous devez inclure l'authentification de base dans l'en-tête, c'est-à-dire un ID spiuser et un mot de passe correspondant. Effectuez la requête POST HTTPS à l'aide d'un module complémentaire de navigateur tel que HttpRequester pour Mozilla Firefox ou Postman pour Google Chrome, par exemple.
L'appel d'index de génération met à jour les informations dans l'index maître à l'aide du service DIH (Data Import Handler) pour générer l'index. Il génère l'index soit partiellement via des mises à jour d'index delta, soit intégralement via la génération d'index complets. Lorsqu'il y a plusieurs index, par exemple, chaque langue à l'aide de son propre index distinct, l'index est construit plusieurs fois. transaction_server_https_port est la valeur par défaut dans l'environnement de développement. Vous pouvez donc spécifier 443 ou laisser la zone vide, sauf si vous l'avez modifiée. Dans l'environnement d'exécution, le numéro de port est 5443. Si vous n'êtes pas sûr du numéro de port, connectez-vous au serveur de transactions et exécutez la commande docker ps pour trouver le mappage de port du processus
ts-app. La commande pour créer l'index est la suivante :https://transaction_server_hostname:transaction_server_https_port/wcs/resources/admin/index/dataImport/build?masterCatalogId=masterCatalogIdOù :- masterCatalogId
- Obligatoire : L'ID du catalogue principal (par exemple, 10101).Si vous ne connaissez pas l'ID du catalogue principal, exécutez l'instruction SQL suivante :
SQL: select * from catalog where IDENTIFIER='STORE_IDENTIFIER'Pour trouver l'ID de catalogue principal d'un magasin de site étendu :- Trouvez l'ID du magasin :
select * from storeent where IDENTIFIER='STORE_IDENTIFIER' - Utilisez storeent_id comme store_id dans l'instruction SQL suivante pour trouver l'ID de magasin de ressources de catalogue de ce magasin de site étendu :
Où XXXXXX est la valeur storeent_id de l'instruction SQL dans l'étape 1.a lors de la génération de l'index de recherche.select * from storerel where store_id=XXXXXX and streltyp_id=-4 and relatedstore_id not in (XXXXXX) - Obtenez l'ID du catalogue principal :
Où YYYYYY est la valeur relatedstore_id dans l'étape 1.b lors de la génération de l'index de recherche.select * from storecat where storeent_id=YYYYYY and mastercatalog='1'
- Trouvez l'ID du magasin :
- indexType
- Facultatif : Indique l'index du moteur de recherche à configurer pour un niveau d'indexation plus granulaire. Valeurs valides :
- CatalogEntry : Définit l'index pour les entrées de catalogue dans le catalogue principal.
- CatalogGroup : Définit l'index des catégories du catalogue principal.
Si vous n'utilisez pas le paramètre indexType, les index CatalogEntry et CatalogGroup sont générés par défaut.
- indexSubType
- Facultatif : Indique les sous-types d'index du moteur de recherche à configurer. Ce paramètre accepte une seule valeur à la fois. Il n'accepte pas plusieurs valeurs. Valeurs valides :
- Structuré
- Définit l'index pour le contenu structuré.
- Non structuré
- Définit l'index pour le contenu non structuré.
- WebContent
- Définit l'index pour le contenu du site.
- Inventory
- Définit l'index pour les données d'inventaire.
- Prix
- Si l'index de prix est intégré dans le noyau CatalogEntry, ce paramètre calcule uniquement le prix. Si l'index de prix se trouve dans un noyau d'index Solr distinct, ce paramètre calcule les prix et initialise l'index des données de tarification.
Si vous n'utilisez pas le paramètre indexSubType, les sous-types d'index Structured, Unstructured et WebContent sont créés par défaut. Si vous définissez indexType comme CatalogGroup, vous pouvez définir indexSubType sur Structured. Vous pouvez définir n'importe quelle valeur indexSubType lorsque vous définissez CatalogEntry comme valeur indexType.
- fullBuild
- Facultatif : Un indicateur qui précise qu'il s'agit d'une génération d'index complète. Les valeurs acceptées sont true ou false. La valeur par défaut est true.
- localeName
- Facultatif : Le paramètre régional à indexer.
- Tout
de_DEen_USes_ESfr_FRit_ITja_JPko_KRpl_PLpt_BRro_ROru_RUzh_CNzh_TW
Remarque : Pour indexer une nouvelle langue, cette langue doit être ajoutée dans la table SRCHCONF et la table SRCHCONFEXT. Pour plus d'informations, consultez la rubrique Indexation d'une nouvelle langue dans HCL Commerce Search
La réponse pour l'appel RESTFul d'index de génération est similaire à l'exemple suivant :
où 1001 est l'ID du travail pour cet index de génération.{"jobStatusId":1001} -
Vérifiez le statut de l'index de génération.
Si vous vérifiez le statut d'une génération d'index, émettez la requête HTTP suivante :
Vous pouvez également vérifier le statut à l'aide de la commande cURL Linux.https://{ts_server_hostname}:{ts_https_port}/wcs/resources/admin/index/dataImport/status?jobStatusId={jobstatusId} Method: GET header: basic auth for spiuser and its passwordcurl -k -u spiuser:plain_text_spiuserPassword -X GET https://hostname:3738/search/admin/resources/index/build/status?jobStatusId=jobstatusId