Personalizar el ciclo de vida de índice

El ciclo de vida de índice HCL Commerce Search proporciona numerosos puntos de extensión. Existen ocho etapas principales para el ciclo de vida, y cada una de ellas incluye sus propias oportunidades de extensión. La herramienta principal para la personalización son los archivos de configuración que controlan el proceso de indexación. Más allá de la configuración, puede crear e integrar su propio código personalizado.

El ciclo de vida del índice

Se realiza la indexación (incluido el preproceso) desde el servidor de HCL Commerce. Después de que el preproceso de índice se haya completado satisfactoriamente, se puede ejecutar Data Import Handler (DIH) desde el mismo servidor de WebSphere Commerce.HCL Commerce Solr puede empezar a crear y actualizar el índice de Lucene de las tablas de base de datos temporales de WebSphere Commerce.HCL Commerce Si no es necesario realizar preproceso, como para el índice de extensión de inventario, se puede iniciar el proceso DIH desde WebSphere Commerce o directamente desde una URL emitido para el servidor de .HCL CommerceHCL Commerce Search

Hay ocho pasos para el ciclo de vida de indexación propiamente dicho, tal como se indica en la figura siguiente.

1. Carga de datos - sistema externo
PIM: Gestión de información del producto o CMS: Un sistema de gestión de contenido, normalmente WebSphere Content Hub, se utiliza para cargar datos en la base de datos de autoría de Commerce.
Mientras que la carga de datos guarda, por ejemplo, los productos de una nueva temporada en la base de los esquemas de espacio de trabajo, también registra la clave primaria de los productos de la nueva temporada en tablas Delta específicas de búsqueda. Más adelante, cuando buildIndex se esté ejecutando, comprobará qué datos se han añadido, cambiado o suprimido en el esquema de espacio de trabajo de esta tabla de diferencias específica. A continuación, creará los productos de la nueva temporada de la base de datos del espacio de trabajo en el índice de espacio de trabajo.
Puede personalizar la carga de datos definiendo un nuevo mediador. buildIndex también se puede personalizar para crear información adicional en el índice de espacio de trabajo.
2. Vista previa
Una vez que el núcleo de índice de espacio de trabajo se ha sincronizado con la base de datos de esquema de espacio de trabajo, los administradores de espacios de trabajo pueden realizar cambios en los nuevos productos de temporada. Pueden obtener una vista previa de los datos nuevos y aún no aprobados, categorías y contenido en el escaparate. El analizador de consumidor de sucesos incorporado en cada catálogo añadirá los cambios de datos que provienen del centro de gestión a cada tabla Delta específica de búsqueda. El proceso buildIndex vuelve a leer cada tabla Delta y crea los datos en un núcleo de índice de espacio de trabajo.
3. Aprobar
Cuando el administrador del espacio de trabajo está satisfecho con los datos de catálogo, aprueban y publican el espacio de trabajo. Los datos del esquema del espacio de trabajo se confirmarán en la base de esquema base y el índice del espacio de trabajo se confirmará en el índice base.
4. Servicio de indexación
El servicio de indexación ejecutará primero el script de preproceso ubicado en el servidor de transacciones para reducir los datos en una tabla temporal o vista. A continuación, el servicio ejecuta DataImportHandler para importar datos de la tabla temporal o la vista en el índice.
En el esquema base, de forma predeterminada, hay cuatro tipos de índice: CatalogEntry, CatalogGroup, índice no estructurado e índice ampliado (para precio e inventario). El índice se puede personalizar añadiendo un nuevo índice. Puede influir en los comportamientos de estos índices personalizando x-schema.xml, x-solrconfig.xml y x-data-config.xml. Archivos de configuración adicionales como, por ejemplo, passwords.txt permitir un control preciso sobre la indexación de términos de búsqueda. Si requiere una personalización de nivel más profundo, por ejemplo, sustitución completa schema.xml, solrconfig.xml o data-config.xml, esto se puede lograr aprovechando las tablas SRCHCONF y SRCHCONFEXT.
5. Stagingprop
Cuando todo está listo en el entorno de autoría, la base de datos se propaga a la instancia activa.
6. Indexprop
La réplica de datos la realiza el servicio de administración de búsqueda.
7. Réplica:
Una vez que el índice esté listo en el repetidor, el proceso de replicación incorporado del motor de Solr replicará el índice del repetidor en los nodos subordinados. Puede configurar si se debe replicar un archivo externo o un archivo de esquema, o si se debe forzar una comprobación de estado después de la réplica. También puede personalizar encima del manejador de réplicas proporcionado por la búsqueda.
8. Invalidación de memoria caché
Hay una caché de datos habilitada en el servidor de búsqueda. Se utiliza principalmente para almacenar en memoria caché tres tipos de datos: las operaciones centralizadas de base de datos, como B2B información de titularidad o la configuración de facetas; búsquedas de reglas de búsqueda que necesitan una devolución de llamada al servidor de transacciones; y la información de jerarquía de categorías que se crea mediante el acceso de índice centralizado. Cuando se cambia una faceta o una base de datos relacionada con la titularidad, la regla de búsqueda o el índice, se desencadena la invalidación para invalidar la memoria caché de datos y la memoria caché de fragmento de escaparate. Normalmente se desencadena la invalidación de la memoria caché de reglas de búsqueda y de facetas mediante la definición de un desencadenante de base de datos; las jerarquías de categorías se invalidan aprovechando la tabla CACHEIVL. Normalmente, IndexProp registrará sucesos de invalidación de memoria caché en la base de datos en la tabla CACHEIVL. Más adelante, cada llamada REST de búsqueda llamará al gestor de memoria caché en el servidor de búsqueda para leer CACHEIVL y emitirá invalidación.
Nota: Mientras que los servidores de búsqueda y de transacciones realizan la invalidación utilizando la tabla CACHEIVL, el servidor de tienda emite invalidaciones suscribiéndose a un mensaje Kafka.
IBM proporciona tres niveles de soporte para personalizar estos pasos:
  • Soportado: Se da soporte al proceso de personalización. Para obtener más información, consulte Ponerse en contacto con soporte al cliente de HCL.
  • Soporte futuro: IBM pretende dar soporte a la característica de personalización en una versión futura. Si tiene una necesidad de personalización relacionada, puede ponerse en contacto con el equipo de soporte de IBM para obtener más información.
  • No se da soporte: IBM no tiene previsto dar soporte a dicha función de personalización en el futuro. Debe evitar personalizar el área relacionada o buscar alternativas en su implementación.

Personalización por paso de ciclo de vida

La tabla siguiente enlaza los pasos del ciclo de vida del índice con los temas de configuración correspondientes en el Knowledge Center.

La mayoría de los pasos de la tabla se listan como admitidos o no admitidos; sin embargo, algunos elementos son configurables. Esto significa que su comportamiento se puede cambiar utilizando parámetros de mandato u otras funciones incorporadas.
Método Punto de personalización Nivel de soporte*
1 Carga de datos buildIndex programa de utilidad de Mediadores personalizados; buildIndex.
2 Vista previa de tienda/compilación Delta Reindexar No se da soporte a la personalización. Consulte Sincronización de índices y actualizaciones delta en la HCL Commerce Search.
3 Aprobar índice Compromiso de datos con el esquema base. No se da soporte a la personalización.
4 Personalizar archivo de índice predeterminado schema.xml Añada un campo personalizado que reutilice fieldType de HCL Commerce en el esquema de índice predeterminado (incluido preprocess o buildindex). Personalización soportada. Consulte Archivo de personalización del esquema de índice de búsqueda x-schema.xml.
Añadir fieldType personalizado Personalización soportada. Consulte Archivo de personalización del esquema de índice de búsqueda x-schema.xml.
Modifique los campos con Solr Native fieldType en schema.xml (por ejemplo, int, String, Date, Float, Long etc.). No se da soporte a la personalización.
Modifique un HCL Commerce fieldType en x-schema.xml (como wc_text*, añada StopWords a partNumber_ntk). Personalización soportada. Consulte Archivo de personalización del esquema de índice de búsqueda x-schema.xml
Modifique un HCL Commerce fieldType en x-schema.xml para el idioma especificado (por ejemplo, para personalizar StopWords solo para inglés). Personalización soportada. Consulte Archivo de personalización del esquema de índice de búsqueda x-schema.xml.
Añada nuevo núcleo de idioma para el índice predeterminado existente. Personalización soportada. Consulte Configuración del índice de búsqueda.
Personalizar Solr nativos utilizandosolrconfig.xml Revierta a las versiones anteriores de MultipleQueryComponent para el núcleo de extensión personalizado.
  • Devolución presentada desde el índice ampliado. Por ejemplo, información de precio de devolución e información de inventario. Devuelva también información personalizada del índice ampliado personalizado.
  • Filtre por campo de índice ampliado. Por ejemplo, mostrar solo los productos que tienen inventario distinto de cero.
  • Ordene por campo de índice ampliado. Por ejemplo, ordenar por precio.
  • Faceta por índice ampliado. Por ejemplo, mostrar faceta de precio de 0 a 100.
  • Aumentar por índice ampliado. Por ejemplo, aumentar los productos que tienen inventario superior a 100.
  • Personalice una función de Solr para realizar la ordenación.
Personalización soportada.
Registre un analizador de consultas personalizado. Personalización soportada. Consulte Componentes personalizables de la consulta Solr final.
Registre un analizador de función. Personalización soportada. Consulte Habilitación de tipos de contenido desestructurado adicionales.
Registre una transformación durante buildindex. Personalización soportada. Consulte Proceso de indexación.
Personalice escucha de sucesos relacionados con IndexSearcher. No se da soporte a la personalización.
Personalice el escucha de sucesos relacionados con la actualización. No se da soporte a la personalización.
Personalización wc-data-config.xml Personalización de las correlaciones de campos existentes en wc-data-config.xml para CatalogEntry/CatalogGroup/unstructured/Inventory/Price. No se da soporte a la personalización.
Añada una nueva correlación de campos en wc-data-config.xml para CatalogEntry, CatalogGroup, no estructurado, inventario o precio. Personalización soportada. Consulte Ampliar el archivo wc-data-config.xml utilizando el archivo wc-data-preprocess-x-finalbuild.xml.
Elija el inventario no ATP o DOM para wc-data-config.xml. Personalización soportada. Consulte Propiedades de búsqueda en el archivo de configuración de componente (wc-component.xml).
Altere completamente el valor predeterminado wc-data-config.xml. Personalización soportada. Consulte Ampliar el archivo wc-data-config.xml utilizando el archivo wc-data-preprocess-x-finalbuild.xml.
Personalizar carga de índice Indexload para CatalogEntry o CatalogGroup master. No se da soporte a la personalización.
Indexload para el núcleo de extensión personalizado. No se da soporte a la personalización.
Personalización en fragmentación Se fragmenta en un núcleo distinto de catentry. No se da soporte a la personalización.
5 Propagar datos por etapas Modifique los parámetros de línea de mandatos del programa de utilidad StagingProp. Se puede configurar utilizando el programa de utilidad StagingProp. Consulte Programa de utilidad stagingprop.
6 Propagación de índice Modifique los parámetros de línea de mandatos del programa de utilidad IndexProp. Se puede configurar utilizando el programa de utilidad IndexProp. Consulte Propagación del índice de búsqueda.
7 Réplica, operación y HealthCheck Realice la réplica en un índice personalizado, por ejemplo, replicar de un maestro a un repetidor, o de un repetidor a un subordinado. No se da soporte a la personalización.
Replique en un archivo externo para un índice personalizado. No se da soporte a la personalización.
Personalice las funciones de replicación, operación o HealthCheck existentes. Personalización soportada. Consulte Puntos de extensión de verificación de índice
8 Memoria caché e invalidación de memoria caché Tabla CACHEIVL de invalidación de memoria caché para un índice personalizado. Configurable. Consulte Invalidación de memoria caché.
Sustituya por otro proveedor de memoria caché centralizada (por ejemplo, WXS). No se da soporte a la personalización.