Migration de champs d'index personnalisés et indexation des scripts de la recherche basée sur BOD vers la recherche basée sur REST

Toute personnalisation effectuée dans l'un des schémas d'index ou vers les scripts de prétraitement et d'indexation peut être réappliquée lorsque vous migrez de la recherche basée sur BOD vers la recherche basée sur REST.

La recherche dans HCL Commerce Version 9 utilise Solr 7.3.1, tandis que la recherche basée sur BOD utilisait la version antérieure de Solr. Par conséquent, votre index de recherche doit être à nouveau généré et les champs personnalisés doivent être remis en œuvre. HCL Commerce Version 9 La recherche utilise également l'API RESTful pour générer l'index de recherche. Pour plus d'informations, voir Génération de l'index de recherche.

Procédure

  1. Faites migrer vos personnalisations de schéma d'index. Dans HCL Commerce Version 9, les définitions de l'entrée de catalogue fieldType utilisent deux modèles :
    • Modèle non personnalisable : search-config/src/main/resources/managed-solr/config/v3/common/schema-field-types.xml.
      Remarque : Lorsque le premier index est créé, ce fichier XML est copié dans le répertoire resources/search/index/managed-solr/config/v3/common. Après la création de l'index, d'autres index partagent cette définition fieldType.
    • Modèle personnalisable : search-config-ext/src/main/resources/index/managed-solr/config/v3/common/x-schema-field-types.xml.
      Remarque : Lorsque le premier index est créé, ce fichier XML est copié dans le répertoire resources/search/index/managed-solr/config/v3-core-extension/common. Après la création de l'index, d'autres index partagent cette définition fieldType personnalisable.
  2. Faites migrer votre schéma personnalisé fieldType en utilisant l'exemple suivant.

    Si vous avez créé une nouvelle zone x_textSpell pour l'environnement linguistique fr_FR dans une version antérieure de HCL Commerce, vous avez mis à jour le fichier schema.xml qui se trouvait dans le répertoire de configuration principal spécifique au paramètre régional fr_FR. Dans HCL Commerce Version 9, vous devez ajouter le type de zone x_textSpell_fr au fichier x-schema-field-types.xml comme suit.

    <!-- Spell checking text field -->
    <fieldType omitNorms="true" positionIncrementGap="100" class="solr.TextField" name="x_textSpell_fr">
    <analyzer type="index">
    <tokenizer class="solr.WhitespaceTokenizerFactory"/>
    <filter class="solr.LowerCaseFilterFactory"/>
    <filter class="solr.StopFilterFactory" words="${stopwords_fr:../../../v3/common/stopwords.txt}" ignoreCase="true"/>
    <filter class="solr.WordDelimiterFilterFactory" preserveOriginal="0" splitOnNumerics="1" splitOnCaseChange="1" 
        catenateAll="0" catenateNumbers="0" catenateWords="0" generateNumberParts="1" generateWordParts="1"/>
    <filter class="solr.ShingleFilterFactory" fillerToken="" tokenSeparator=" " maxShingleSize="3" minShingleSize="2" 
        outputUnigrams="true"/>
    <filter class="solr.PatternReplaceFilterFactory" replace="all" replacement=" " pattern="\s{2,}"/>
    <filter class="solr.TrimFilterFactory"/>
    <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
    </analyzer>
    
    <analyzer type="query">
    <tokenizer class="solr.WhitespaceTokenizerFactory"/>
    <filter class="solr.LowerCaseFilterFactory"/>
    <filter class="solr.StopFilterFactory" words="${stopwords_fr:../../../v3/common/stopwords.txt}" ignoreCase="true"/>
    </analyzer>
    </fieldType>
  3. Après que le nouveau type de zone x_textSpell_fr est défini dans le fichier x-schema-field-types.xml, définissez une entrée dans votre fichier x-schema.xml en utilisant l'exemple suivant.
    <field name="spellCheck" type="x_textSpell_fr" indexed="true" stored="false" multiValued="true" />
    Notes :
    • Si vous souhaitez utiliser toutes les langues prises en charge, vous devez créer un type de zone pour chaque langue dans le fichier x-schema-field-types.xml, puis ajouter la définition de zone suivante dans le fichier x-schema.xml.
      <field name="spellCheck" type="x_textSpell_${lang:en}" indexed="true" stored="false" multiValued="true" />
  4. Faites migrer vos mots neutres personnalisés.
    Dans les versions précédentes de HCL Commerce, vous pouvez modifier le fichier stopwords.txt de chaque répertoire de configuration de base. Par exemple, si vous avez personnalisé stopwords.txt pour la langue anglaise, il suffit de modifier le fichier stopwords.txt dans la base en_US. Lorsque vous migrez vers HCL Commerce Version 9, les schémas d'index sont partagés entre plusieurs langues. Pour personnaliser stopwords.txt pour une langue spécifique, HCL Commerce Version 9 nécessite que vous pointiez vers le fichier dans la table de base de données SRCHCONFEXT. Pour plus d'informations sur la personnalisation de stopwords.txt, voir Personnalisation du fichier stopwords.txt. Exécutez la commande SQL suivante pour placer stopwords.txt dans la zone config :
    Update srchconfext set config='stopwords_en=../../../../managed-solr/config/v3-core-extension/common/stopwords.txt' 
    where indextype=’CatalogEntry’ and indexscope=’$MASTERCATALOGID’
    Lorsque le serveur de recherche HCL Commerce est redémarré, le contenu suivant est ajouté à x-core.properties sous le répertoire de données d'index en_US.
    stopwords_en=../../../../managed-solr/config/v3-core-extension/common/stopwords.txt

    Si vous devez modifier le fichier stopwords.txt qui se trouve sous le répertoire workspace_dir\search-config-ext\src\index\managed-solr\config\v3\common, le nouveau stopwords.txt est copié dans le répertoire Liberty_installdir\resources\search\index\managed-solr\config\v3-core-extension\common dans le cadre de la configuration de votre pipeline WCB et CI/CD.

    Par exemple, dans les versions précédentes de HCL Commerce, vous avez ajouté un nouveau mot neutre en anglais : can. Les étapes suivantes vous montrent comment faire migrer cette personnalisation.
    1. Ajoutez can au bas de votre fichier HCL Commerce Version 9 workspace_dir\search-config-ext\src\index\managed-solr\config\v3\common\stopwords.txt.
    2. Ajoutez le chemin d'accès stopwords.txt personnalisé dans la colonne CONFIG de la table SRCHCONFEXT en exécutant l'instruction SQL suivante :
      Update srchconfext set config='stopwords_en=../../../../managed-solr/config/v3-core-extension/common/stopwords.txt' 
      where indextype='CatalogEntry' and indexscope='10001';
  5. Faites migrer vos fichiers de prétraitement personnalisés.

    Dans les versions précédentes de HCL Commerce, lorsque vous avez créé un fichier preprocess.xml personnalisé pour indexer des données externes, le fichier personnalisé se trouve sous le répertoire solrhome/pre-processConfig/MC_MasterCatalog/Dbtype. Dans HCL Commerce Version 9, ces fichiers XML de prétraitement se trouvent sous le répertoire WCDE_installdir/xml/search/dataImport/v3/Dbtype/.

    Copiez le fichier wc-dataimport-preprocess-custom.xml de votre environnement précédent dans le répertoire WCDE_installdir/xml/search/dataImport/v3/Dbtype/ de HCL Commerce Version 9. En outre, copiez tous les fichiers référencés par le fichier wc-dataimport-preprocess-custom.xml en HCL Commerce Version 9, et mettez à jour le fichier wc-dataimport-preprocess-custom.xml pour vous assurer qu'il pointe pour corriger le fichier de chemin d'accès si vous modifiez l'emplacement du fichier sur HCL Commerce Version 9. Par exemple, peut-être avez-vous spécifié un fichier d'entrée dans wc-dataimport-preprocess-custom.xml comme suit.

    <!-- this property is added new to locate the input file path instead of hard coding it to be in WC\bin -->
    <_config:property name="inputFile" value="W:\WCDE_INT70\bin\Ratings.xml"/>
    
    Si tel est le cas, vous devez copier le fichier Ratings.xml de l'environnement précédent en HCL Commerce Version 9.0.0.1+, le placer sous WCDE_installdir\bin et mettre à jour wc-dataimport-preprocess-custom.xml pour pointer vers le nouvel emplacement.
    <!-- this property is added new to locate the input file path instead of hard coding it to be in WC\bin -->
    <_config:property name="inputFile" value="W:\WCDE_v9\bin\Ratings.xml"/>
    
  6. Faites migrer vos fichiers de gestionnaire d'importation de données personnalisés.

    Si vous souhaitez indexer plus de données dans les versions précédentes de HCL Commerce, vous avez modifié le fichier wc-data-config.xml dans le répertoire de base spécifique. Par exemple, si vous souhaitez indexer plus de données de la table X_RATING en anglais, vous avez modifié le fichier wc-data-config.xml sous le répertoire de base en_US pour autoriser query et deltaImportQuery à rejoindre la table X_RATING. Dans HCL Commerce Version 9, le DataImportHandler (DIH) Solr obtient des données de la vue VI_CE_#INDEX_SCOPE_TAG#_#lang_tag# et X_VI_CE_#INDEX_SCOPE_TAG#_#lang_tag#. Ajoutez cette nouvelle table personnalisable dans la vue X_VI_CE_#INDEX_SCOPE_TAG#_#lang_tag# dans wc-dataimport-preprocess-x-finalbuild.xml. Pour plus d'informations, voir Configuration du mappage du gestionnaire d'importation de données.

    Une fois que les tables personnalisées sont ajoutées à la table X_VI_CE, les données personnalisées peuvent être renvoyées et rendues accessibles pour Solr grâce au DIH. Définissez le mappage de colonnes de zone afin que Solr puisse transférer la nouvelle colonne personnalisée dans les zones Solr. Mettez à jour le fichier search-config-ext/src/main/resources/index/managed-solr/config/v3/CatalogEntry/x-data-config.xml pour ajouter le mappage de zone.

    Voici un exemple du nouveau mappage. Avec ce mappage, la colonne RATING de la vue X_VI_CE effectue un mappage vers la zone customerRanking dans l'index d'entrée du catalogue.
    <field column="RATING" name="customerRanking"/>
  7. Redémarrez le serveur de recherche.
  8. Générez votre index de recherche.