Indexación de precios de contrato utilizando la carga de índice

Puede utilizar la carga de índice para indexar precios de contrato de un archivo .CSV.

Antes de empezar

  1. Copie el archivo server.config.dir/search/index/indexload/wc-indexload-contractprice.xml en el proyecto del entorno de desarrollo search-config-ext/src/main/resources/index/indexload.
  2. Actualice la siguiente línea en el archivo EAR de búsqueda copiado wc-indexload-price.xml para utilizar el ID de catálogo maestro, en lugar de 10001:
    
    <_config:property name="coreName" value="MC_10001_CatalogEntry_Price_generic" />
    

Por qué y cuándo se efectúa esta tarea

Procedimiento

  1. Utilice SQL para crear un subnúcleo de precios para el ID de catálogo maestro especificado. Por ejemplo, si masterCatalogId es 10001, el siguiente mandato SQL creará el subnúcleo de precios.
    Insert into srchconfext(srchconfext_id,indextype,indexscope,indexsubtype) 
    values(select max(srchconfext) 1 from srchconfext, "CatalogEntry","10001","Price");
  2. Reinicie el servidor de búsqueda de HCL Commerce.
  3. Cuando se inicie el servidor de búsqueda, se creará un subnúcleo de precio en el directorio solrhome/MC_mastercatalogId/generic/CatalogEntry/Price. Para nuestro ID de catálogo maestro de ejemplo, el nombre de núcleo será MC_10001_CatalogEntry_Price_generic. Este nombre de núcleo se utilizará más adelante al componer el archivo de configuración de carga de índice.
  4. Son necesarios dos archivos de configuración de carga de índice para cargar el perfil de precio.
    server.config.dir/resources/search/index/indexload/wc-indexload-externalprice-demo.xml
    Además de especificar parámetros de ajuste del rendimiento, este archivo especifica el archivo de configuración que utilizará la carga de índice. También contiene el nombre de núcleo de destino y el archivo .CSV de origen de datos.
    <_config:LoadItem name="ExternalPrice-1" fileName="wc-indexload-externalprice-csv.xml"> 
    <_config:property name="coreName" value="MC_10001_CatalogEntry_Price_generic" /> 
    <_config:property name="groupName" value="1" /> 
    <_config:DataSourceLocation location="resources/search/index/indexload/contract-price-example1.csv" /> 
    </_config:LoadItem> 
    server.config.dir/resources/search/index/indexload/wc-indexload-externalprice-csv.xml
    Este archivo especifica el mediador CSV. Se utilizará el mediador CSV para transformar entre el campo en el archivo CSV y los campos de Solr field.SearchIndexLoadCSVMediator. El mediador se define de la forma que se indica a continuación.
    </_config:BusinessObjectBuilder>
    <_config:BusinessObjectMediator className="com.ibm.commerce.foundation.internal.server.services.indexload.mediator.SolrIndexLoadBusinessObjectMediator"/> 
    <_config:BusinessObjectMediator className="com.ibm.commerce.search.indexload.mediator.SearchIndexLoadCSVMediator" />
  5. Utilice el servicio de carga de índice para cargar el número de inventario con los archivos de configuración.
    https://localhost:3738/search/admin/resources/indexload/profile/externalprice-demo/start 
    Nota: Para cambiar los valores predeterminados, es necesario editar el archivo en /search-config-ext/src/main/resources/index/indexload/ e ir a través del proceso WCB y CI/CD para desplegar el nuevo archivo de configuración en su contenedor.
    Una vez que se ha completado la ejecución de la carga de índice, devolverá uno de los resultados siguientes:
    Code  0:   IndexLoad completed successfully with no errors. 
    Code  1:   IndexLoad was successful with errors within the specified tolerance for each load item. 
    Code  2:   IndexLoad was not successful. The maximum tolerance level for errors was reached for at least one of the configured load items. 
    Code  3:   IndexLoad was not successful. An unrecoverable error has occurred. 
    Code -1:   IndexLoad was running. 

Resultados

Puede comprobar el estado del mandato con la siguiente llamada:
https://localhost:3738/search/admin/resources/indexload/profile/externalprice-demo/status
El núcleo puede llamarse con la consulta:
http://localhost:3737/solr/MC_10001_CatalogEntry_Price_generic/select?q=*:*