Configuration du mappage du gestionnaire d'importation de données

Dans cette leçon, vous configurez le mappage du gestionnaire d'importation des données pour extraire des données de la table relationnelle. Vous configurez le mappage pour l'extraction de données avec des lignes de requête SQL prédéfinies qui extraient des données HCL Commerce.

Pour étendre la portée d'extraction, cette leçon ajoute les colonnes et les tables de prix de revient à vos requêtes de recherche. Le prix de revient lui-même n'est pas indexé, car vous ne l'utilisez pas directement pendant ce tutoriel. Vous définissez la requête pour calculer la marge bénéficiaire basée sur le prix de vente et le prix de revient. Vous mappez ensuite la colonne pour indexer la zone dans le fichier de configuration.

Remarque : Au cours de cette tâche, vous ajoutez des zones pour votre catalogue principal. A titre d'exemple, ce tutoriel utilise un catalogue principal avec comme ID "10001" et utilise le paramètre régional "en_US". Modifiez les valeurs pour refléter celles de votre environnement. Si vous souhaitez ajouter aux zones plus de catalogues ou de langues, vous devez répéter le processus suivant pour ces catalogues et langues.

Pourquoi et quand exécuter cette tâche

Procédure

  1. 1. Dans un utilitaire Gestionnaire de fichiers, accédez au répertoire workspace_dir\WC\xml\search\dataImport\v3\dbtype2.
  2. 2. Ouvrez le fichier wc-dataimport-preprocess-x-finalbuild.xml pour l'éditer.
    1. a. Ajoutez le code suivant à la clause SELECT :
      CASE 
         WHEN REGEXP_SUBSTR(VI_OP.PRICE, 'price_USD:([0-9.]+)(\|\||$)', 1, 1, 'c',1) <> 0 
            THEN 
               (REGEXP_SUBSTR(VI_OP.PRICE, 'price_USD:([0-9.]+)(\|\||$)', 1, 1, 'c',1) - COSTPRICE.PRICE) / 
                REGEXP_SUBSTR(VI_OP.PRICE, 'price_USD:([0-9.]+)(\|\||$)', 1, 1, 'c',1) * 100 
            ELSE NULL 
      END AS PROFIT_MARGIN
    2. Ajoutez le code suivant à la clause FROM :
      LEFT OUTER JOIN VI_OFFERPRICE_#INDEX_SCOPE_TAG# VI_OP ON (CATENTRY.CATENTRY_ID=VI_OP.CATENTRY_ID)
      LEFT OUTER JOIN 
          (SELECT OFFER.CATENTRY_ID, OFFERPRICE.PRICE
          FROM OFFER
          INNER JOIN OFFERPRICE ON (OFFER.OFFER_ID = OFFERPRICE.OFFER_ID AND OFFERPRICE.CURRENCY = 'USD')
          INNER JOIN TRADEPOSCN ON (OFFER.TRADEPOSCN_ID = TRADEPOSCN.TRADEPOSCN_ID AND TRADEPOSCN.NAME = 'My Company Cost Price' )
          ) COSTPRICE
      ON (VI_OP.CATENTRY_ID = COSTPRICE.CATENTRY_ID)
    3. L'instruction SQL finale doit ressembler au fragment suivant.
      "CREATE VIEW X_VI_CE_#INDEX_SCOPE_TAG#_#lang_tag# AS(
      SELECT 
      	CATENTRY.CATENTRY_ID PK,
      	CATENTRY.FIELD1 X_FIELD1_I,
      	CATENTRY.FIELD2 X_FIELD2_I,
      	CATENTRY.FIELD3 X_FIELD3_D,
      	CATENTRY.FIELD4 X_FIELD4_Q,
      	CATENTRY.FIELD5 X_FIELD5_SM,
      	CATENTDESCOVR.FIELD1 X_FIELD1_NL_I,
      	CATENTDESCOVR.FIELD2 X_FIELD2_NL_Q,
      	CASE 
      		WHEN REGEXP_SUBSTR(VI_OP.PRICE, 'price_USD:([0-9.]+)(\|\||$)', 1, 1, 'c',1) <> 0 
      		THEN 
      			(REGEXP_SUBSTR(VI_OP.PRICE, 'price_USD:([0-9.]+)(\|\||$)', 1, 1, 'c',1) - COSTPRICE.PRICE) / 
      			REGEXP_SUBSTR(VI_OP.PRICE, 'price_USD:([0-9.]+)(\|\||$)', 1, 1, 'c',1) * 100 
      		ELSE NULL 
      	END AS PROFIT_MARGIN,
      	CATENTDESCOVR.FIELD3 X_FIELD3_NL_S
      FROM CATENTRY
      	INNER JOIN TI_CATENTRY_#INDEX_SCOPE_TAG# CE ON (CATENTRY.CATENTRY_ID=CE.CATENTRY_ID)
      	LEFT OUTER JOIN CATENTDESCOVR ON (CATENTRY.CATENTRY_ID=CATENTDESCOVR.CATENTRY_ID)
      	LEFT OUTER JOIN VI_OFFERPRICE_#INDEX_SCOPE_TAG# VI_OP ON (CATENTRY.CATENTRY_ID=VI_OP.CATENTRY_ID)
      	LEFT OUTER JOIN 
      		(SELECT OFFER.CATENTRY_ID, OFFERPRICE.PRICE
      		FROM OFFER
      		INNER JOIN OFFERPRICE ON (OFFER.OFFER_ID = OFFERPRICE.OFFER_ID AND OFFERPRICE.CURRENCY = 'USD')
      		INNER JOIN TRADEPOSCN ON (OFFER.TRADEPOSCN_ID = TRADEPOSCN.TRADEPOSCN_ID AND TRADEPOSCN.NAME = 'My Company Cost Price' )
      		) COSTPRICE
      	ON (VI_OP.CATENTRY_ID = COSTPRICE.CATENTRY_ID))"	name="X_VI_CE_#INDEX_SCOPE_TAG#_#lang_tag#"
    4. Enregistrez et fermez le fichier.
  3. Modifier le répertoire search-config-ext\index\managed-solr\config\v3\CatalogEntry et ouvrez le fichier x-data-config.xml pour modification. Ajoutez les mappages de déclaration de zone suivants pour mapper la zone de la base de données à la zone d'index définie dans le fichier x-data-config.xml file.
    <field column="PROFIT_MARGIN" name="profitMargin"/>
  4. Enregistrez et fermez le fichier.