Migración de campos de índice personalizados y scripts de indexación de búsqueda basada en BOD a búsqueda basada en REST

Se puede volver a aplicar cualquier personalización que se realice en cualquiera de los esquemas de índice, o en los scripts de preproceso e indexación cuando migre de una búsqueda basada en BOD a una búsqueda basada en REST.

La búsqueda en HCL Commerce Version 9 utiliza Solr 7.3.1, mientras que la búsqueda basada en BOD utilizaba la versión anterior de Solr. Por lo tanto, debe volver a crearse el índice de búsqueda y deben volver a implementarse los campos personalizados. HCL Commerce Version 9 La búsqueda también utiliza la API RESTful para crear el índice de búsqueda. Para obtener más información, consulte Creación del índice de búsqueda.

Procedimiento

  1. Migre las personalizaciones de esquema de índice. En HCL Commerce Version 9, las definiciones de fieldType de la entrada del catálogo usan dos plantillas:
    • Una plantilla no personalizable: search-config/src/main/resources/managed-solr/config/v3/common/schema-field-types.xml.
      Nota: Cuando se crea el primer índice, este archivo XML se copia en el directorio resources/search/index/managed-solr/config/v3/common. Tras la creación del índice, otros índices comparten esta definición .Tras la creación del índice, otros índices comparten esta definición fieldType.
    • Una plantilla personalizable: search-config-ext/src/main/resources/index/managed-solr/config/v3/common/x-schema-field-types.xml.
      Nota: Cuando se crea el primer índice, este archivo XML se copia en el directorio resources/search/index/managed-solr/config/v3-core-extension/common. Tras la creación del índice, otros índices comparten esta definición fieldType personalizable.
  2. Migre el esquema personalizado fieldType mediante el ejemplo siguiente.

    Si ha creado un nuevo campo x_textSpell para el entorno local fr_FR en una versión HCL Commerce anterior, ha actualizado el archivo schema.xml, que se encontraba en el directorio de configuración núcleo específico del entorno local fr_FR. En HCL Commerce Version 9, debe agregar el tipo de campo x_textSpell_fr al archivo x-schema-field-types.xml de la siguiente manera.

    <!-- 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. Después de que se haya definido el nuevo tipo de campo x_textSpell_fr en el archivo x-schema-field-types.xml, defina una entrada en el archivo x-schema.xml utilizando el ejemplo siguiente.
    <field name="spellCheck" type="x_textSpell_fr" indexed="true" stored="false" multiValued="true" />
    Notes:
    • Si desea definir todos los idiomas de soporte, debe crear un tipo de campo para cada idioma en el archivo x-schema-field-types.xml y, a continuación, añadir la definición de campo siguiente en el archivo x-schema.xml.
      <field name="spellCheck" type="x_textSpell_${lang:en}" indexed="true" stored="false" multiValued="true" />
  4. Migre sus palabras frecuentes personalizadas.
    En versiones anteriores de HCL Commerce, podía cambiar el archivo stopwords.txt para cada directorio de configuración principal. Por ejemplo, si ha personalizado stopwords.txt para el idioma inglés, solo necesita cambiar el archivo stopwords.txt en el núcleo en_US. Al migrar a la versión HCL Commerce Version 9, los esquemas de índice se comparten en varios idiomas. Para personalizar stopwords.txt para un idioma específico, HCL Commerce Version 9 requiere que apunte al archivo en la tabla de la base de datos SRCHCONFEXT. Si desea más información sobre la personalización de stopwords.txt, consulte Personalización del archivo stopwords.txt. Ejecute el mandato SQL siguiente para poner stopwords.txt en los campos de configuración:
    Update srchconfext set config='stopwords_en=../../../../managed-solr/config/v3-core-extension/common/stopwords.txt' 
    where indextype=’CatalogEntry’ and indexscope=’$MASTERCATALOGID’
    Cuando se reinicia el servidor de búsqueda HCL Commerce, los siguientes contenidos se agregan en x-core.properties en el directorio de datos de índice en_US.
    stopwords_en=../../../../managed-solr/config/v3-core-extension/common/stopwords.txt

    Si necesita cambiar el archivo stopwords.txt que está en el directorio workspace_dir\search-config-ext\src\index\managed-solr\config\v3\common, el nuevo stopwords.txt se copia en el directorio Liberty_installdir\resources\search\index\managed-solr\config\v3-core-extension\common como parte de la configuración de su ejecución secuencial de CI/CD y WCB.

    Por ejemplo, en versiones anteriores de HCL Commerce ha añadido una nueva palabra frecuente en inglés: puede. Los siguientes pasos le muestran cómo migrar esta personalización.
    1. Agregue puede al final de su archivo HCL Commerce Version 9 workspace_dir\search-config-ext\src\index\managed-solr\config\v3\common\stopwords.txt.
    2. Agregue la ruta personalizada stopwords.txt en la columna CONFIG de la tabla SRCHCONFEXT ejecutando la siguiente sentencia SQL:
      Update srchconfext set config='stopwords_en=../../../../managed-solr/config/v3-core-extension/common/stopwords.txt' 
      where indextype='CatalogEntry' and indexscope='10001';
  5. Migre los archivos de preproceso personalizados.

    En versiones anteriores de HCL Commerce, cuando crea un archivo personalizado preprocess.xml para indexar datos externos, el archivo personalizado se encuentra en el directorio solrhome/pre-processConfig/MC_MasterCatalog/Dbtype. En HCL Commerce Version 9, dichos archivos XML de preproceso residen en el directorio WCDE_installdir/xml/search/dataImport/v3/Dbtype/.

    Copie el archivo wc-dataimport-preprocess-custom.xml del entorno anterior en el directorio WCDE_installdir/xml/search/dataImport/v3/Dbtype/ en HCL Commerce Version 9. Además, copie los archivos a los que hace referencia el archivo wc-dataimport-preprocess-custom.xml en HCL Commerce Version 9 y actualice el archivo wc-dataimport-preprocess-custom.xml para asegurarse de que apunte al archivo de ruta correcto si cambia la ubicación del archivo en HCL Commerce Version 9. Por ejemplo, es posible que haya especificado un archivo de entrada en wc-dataimport-preprocess-custom.xml de este modo.

    <!-- 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"/>
    
    En ese caso, debe copiar el archivo Ratings.xml del entorno anterior en HCL Commerce Version 9.0.0.1+, ponerlo en la ubicación WCDE_installdir\bin y actualizar wc-dataimport-preprocess-custom.xml para que apunte a la nueva ubicación.
    <!-- 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. Migre los archivos de manejador de importación de datos personalizados.

    Si desea indexar más datos en versiones anteriores de HCL Commerce, ha cambiado el archivo wc-data-config.xml en el directorio de núcleo específico. Por ejemplo, si desea indexar más datos de la tabla X_RATING en el idioma inglés, edite el archivo wc-data-config.xml en el directorio de núcleo en_US para permitir query y deltaImportQuery para unirse a la tabla X_RATING. En HCL Commerce Version 9, Solr DataImportHandler (DIH) obtiene datos de la vista VI_CE_#INDEX_SCOPE_TAG#_#lang_tag# y X_VI_CE_#INDEX_SCOPE_TAG#_#lang_tag#. Añada esta nueva tabla personalizada a la vista X_VI_CE_#INDEX_SCOPE_TAG#_#lang_tag# en wc-dataimport-preprocess-x-finalbuild.xml. Para obtener más información, consulte Configurar la correlación de Data Import Handler.

    Después de añadir las tablas personalizadas a la tabla X_VI_CE, DIH puede devolver y hacer accesible a Solr los datos personalizados. Defina la asignación de campo-columna para que Solr pueda transferir la nueva columna personalizada a los campos de Solr. Actualice el archivo search-config-ext/src/main/resources/index/managed-solr/config/v3/CatalogEntry/x-data-config.xml para agregar la asignación de campo.

    El siguiente es un ejemplo de la nueva asignación. Con esta correlación, la columna RATING de la vista X_VI_CE se correlaciona con el campo customerRanking en el índice de entrada de catálogo.
    <field column="RATING" name="customerRanking"/>
  7. Reinicie su servidor de búsqueda.
  8. Cree su índice de búsqueda.