Creación del índice de búsqueda

El índice de búsqueda de HCL Commerce se crea utilizando la llamada de creación de índice para la API REST.

El diagrama siguiente ilustra la relación entre el preproceso y la creación de índices en HCL Commerce:
Compilación completa, preproceso e importación de datos

La llamada de creación de índice extrae y presenta simultáneamente los datos de HCL Commerce y, a continuación, genera una salida de los datos en un conjunto de tablas temporales dentro de la base de datos de HCL Commerce. A continuación los datos de las tablas temporales se utilizan para llenar los datos en índices de búsqueda utilizando Data Import Handler (DIH). Cuando existen múltiples índices, por ejemplo, cada idioma utiliza un índice propio independiente, el índice se crea varias veces.

Preproceso de datos

El preproceso de datos es un paso automático. Implica la consulta de las tablas de HCL Commerce y la creación de un conjunto de tablas temporales para albergar los datos. De forma predeterminada, el procesamiento previo se utiliza para los atributos de HCL Commerce. Los preprocesadores de datos predeterminados se basan en la información de configuración definida en wc-dataimport-preprocess.xml para procesar los datos.

La tabla se carga primero en los archivos wc-dataimport-preprocess-fullbuild.xml o wc-dataimport-preprocess-deltaupdate.xml, ya que el proceso puede llevar mucho tiempo. Este proceso ayuda a mantener los datos coherentes entre las tablas temporales. Sin embargo, estos dos archivos son para la misma tabla temporal. La sentencia SQL para obtener los datos difiere para las creaciones de índices completos y las creaciones de índices delta.

Por ejemplo, todos los ID de entrada de catálogo cualificados para el catálogo maestro se almacenan cuando se invoca la llamada REST. Un beneficio de esta perspectiva es que independientemente de que se utilicen para creaciones de índices completos o creaciones de índices delta, todos los demás archivos de configuración relacionados con el preproceso de importación de datos permanecen igual.

Ejemplo de archivos de configuración de preproceso

Los archivos de ejemplo pueden encontrarse en el directorioWCDE_installdir\WC\xml\search\dataImport\v3\db2 Para más información, consulte Definición de esquema de tabla temporal. El convenio de denominación para los archivos de configuración es wc-dataimport-preprocess-*.xml.
Importante: Para índices de tamaño grande, la especificación de tamaño de lote más grande puede reducir los tiempos de creación. Se recomiendo un valor de 300.000 a 500.000, en función de la cantidad de memoria libre del sistema. El fragmento de código siguiente especifica un tamaño de lote de 300.000:

<_config:data-processing-config 
  	processor="com.ibm.commerce.foundation.dataimport.preprocess.CatalogHierarchyDataPreProcessor"
  	masterCatalogId="10101" batchSize="300000">
	...
  </_config:data-processing-config>
Este paso almacena en memoria caché parte de la información que se puede reutilizar para determinar todos los grupos de catálogo de predecesores para cada entrada de catálogo. El proceso da como resultado menos coincidencias con la base de datos para determinar esta información.

Creación de índices y el Data Import Handler (DIH)

La API REST de creación de índice es un programa de utilidad de envoltura que utiliza el servicio DIH para crear el índice, ya sea parcialmente a través de actualizaciones del índice delta o completamente a través de creaciones de índice completas. DIH utiliza las URL para llamar a los mandatos. Por ejemplo:

http://host:port/solr/MasterCatalog_CatalogEntry_en_US/dataimport?command=full-import
El programa de utilidad de creación de índices utiliza DIH para conectarse a la base de datos de HCL Commerce a través de una conexión JDBC. Rastrea las tablas temporales llenadas por el programa de utilidad de preproceso y, a continuación, llena el índice Solr. El archivo de configuración wc-data-config.xml define las sentencias SQL de rastreo y configuración de JDBC.