Ampliar el esquema de índice base de la HCL Commerce Search

El esquema de índice base se puede ampliar para que se adapte a sus necesidades empresariales. Por ejemplo, para separar datos en diferentes índices que se basen en sus rangos de renovación.

Se puede ampliar creando un nuevo esquema de índice independiente y enlazándolo al índice base. En algunos casos, es más conveniente separar los datos en diferentes índices. En este escenario, se crea un nuevo esquema de índice independiente y se enlaza al índice base.

Por ejemplo, el índice base de productos se utiliza para almacenar datos estáticos para el producto, tales como el identificador, el nombre y la descripción breve del producto. Estos valores no suelen cambiar a menudo. Sin embargo, la información dinámica, como las valoraciones o el inventario de productos, cambia con más frecuencia. Por lo tanto, se pone en un índice independiente, donde se puede renovar a rangos diferentes de los del índice de productos base.

El esquema de índice base de la HCL Commerce Search se personaliza de acuerdo con el siguiente flujo:
Ampliar el esquema de índice base de la HCL Commerce Search
Donde:
  1. Los artefactos de índice de extensión deben crearse primero y colocarse en un directorio específico bajo el directorio de inicio de Solr desplegado. La estructura del esquema de índice de extensión se define en el archivo de configuración schema.xml de Solr.

    Para que el índice base pueda hacer referencia a un índice de extensión, en el esquema de índice de extensión debe definirse su similitud con una clave externa que coincida con el nombre de campo exclusivo y el tipo en el esquema de índice base. El tipo de datos de campo al que se hace referencia debe ser un tipo de datos simple como Serie, Entero o flotante. Debe coincidir con el nombre de clave exclusiva y el tipo del índice base.

    Evite los nombres de campo comunes entre los índices de extensión y el índice base, con excepción del campo al que se hace referencia. Se recomienda utilizar un convenio de denominación que anteponga un prefijo a los campos de índice de extensión para evitar conflictos de nombre.

  2. Los núcleos de índice de extensión deben registrarse en el archivo solr.xml, ya que el servidor Solr carga los índices registrados en el archivo solr.xml. Este archivo también contiene la correlación entre el índice base y el índice de extensión.
  3. El índice de extensión debe registrarse en la base de datos de HCL Commerce. El tiempo de ejecución de HCL Commerce busca todos los índices Solr que están registrados en la tabla SRCHCONFEXT. Los índices de extensión se registran como subtipos de índice del índice base.
Nota: El índice Clasificación del producto se utiliza para mostrar los pasos que son necesarios para ampliar el esquema de índice base de Entradas de catálogo para el ID de catálogo maestro 10001 en HCL Commerce Developer. El tipo de índice es CatalogEntry. El nuevo subtipo de índice es Ranking y el nombre del nuevo núcleo de índice es MC_10001_CatalogEntry_Ranking_generic.

Procedimiento

  1. Cree el índice de extensión en el servidor Solr.
    1. Localice la plantilla sampleIndexCore bajo el directorio siguiente: workspace_dir\components\foundation\samples\SolrIndex\template.
    2. Haga una copia de la plantilla sampleIndexCore en el directorio generic\CatalogEntry del directorio de inicio de Solr desplegado. Si los directorios no existen, créelos. workspace_dir\search\solr\home\MC_10001\generic\CatalogEntry.
    3. Cambie el nombre de la plantilla sampleIndexCore copiada por Ranking.

      Por lo tanto, el directorio de núcleo de índice se convierte en: workspace_dir\search\solr\home\MC_10001\generic\CatalogEntry\Ranking

    4. Actualice el archivo schema.xml del directorio de núcleo conf para añadir el nuevo campo Ranking:
      
      <field name="ext_ranking" type="tfloat" indexed="true" stored="true" multiValued="false" />
      
  2. Registre el índice de extensión en el archivo solr.xml.
    1. Localice y edite el archivo solr.xml en el directorio de inicio de Solr: workspace_dir\search\solr\home
    2. Añada el núcleo de índice de extensión al final de los núcleos listados:
      
      <core 
      instanceDir="MC_10001\generic\CatalogEntry\Ranking\" name="MC_10001_CatalogEntry_Ranking_generic">
      <property name="notifyOnChange" value="MC_10001_CatalogEntry_en_US"/>
      </core>
      
    3. Guarde y cierre el archivo.
  3. Registre el núcleo de índice de extensión en la tabla SRCHCONFEXT.
    
    INSERT INTO srchconfext (srchconfext_id,indextype,indexscope,indexsubtype,config) 
    VALUES(-100,'CatalogEntry','10001','Ranking','SearchServerName=localhost,SearchServerPort=80');
    
  4. Reinicie el servidor de prueba.
  5. Verifique el índice de extensión en el siguiente URL:
    • http://localhost/solr/MC_10001_CatalogEntry_Ranking_generic/select?q=*
    La respuesta de la URL debería ser similar al siguiente fragmento de código:
    
    <?xml version="1.0" encoding="UTF-8"?>
    -<response> 
       -<lst name="responseHeader">
          <int name="status">0</int>
          <int name="QTime">62</int>
          -<lst name="params">
             <str name="q">*</str>
          </lst>
       </lst>
       <result name="response" start="0" numFound="0"/> 
    </response>
    

Qué hacer a continuación

Para trabajar con un índice de inventario en la HCL Commerce Search, complete la siguiente guía de aprendizaje: Configuración y creación del índice de inventario.