Definición de esquema de índice de HCL Commerce Search

La definición de esquema de índice de HCL Commerce Search contiene información para procesar datos en HCL Commerce.

Para obtener información más detallada, consulte el archivo solrhome/MC_masterCatalogId/locale/CatalogEntry/conf/schema.xml para la definición de esquema de índice de búsqueda que coincide con la versión de la búsqueda de HCL Commerce.

Alteración de sitios ampliados de entrada de catálogo

Cuando un sitio ampliado prevalece sobre cualquiera de las siguientes propiedades de entrada de catálogo: nombre, descripción breve y palabras clave, se están indexando las propiedades de sitio ampliado y tienda con elementos. Si un acierto coincide con la tienda con elementos o la tienda de sitio ampliado, el tiempo de ejecución devuelve y actualiza el producto con el texto de visualización de alteración de sitio ampliado.

Nombre de categoría

El nombre de categoría se está indexando bajo el índice CatalogEntry. Este es un campo en el que se pueden realizar búsquedas, que se utiliza para mejorar la relevancia del producto que se está devolviendo. Los componentes de tiempo de ejecución impulsan este campo. Para obtener más información, consulte Relevancia y comercialización de la búsqueda.

Catálogos maestros y varios idiomas

una instancia de HCL Commerce puede tener varios catálogos maestros, donde cada catálogo maestro que pertenece a una tienda, en sitios ampliados, puede pertenecer a un clúster de tiendas. El catálogo maestro no se refleja en el esquema de índice. Es decir, se refleja a nivel de núcleos de índice. Además, cada catálogo maestro contiene sus idiomas compatibles a través de sus tiendas adjuntas. Se crea un núcleo de índice diferente para cada idioma y catálogo maestro.

Las siguientes son las principales ventajas de mantener núcleos de índice independientes para cada idioma:
Diseño de esquema limpio
El esquema de búsqueda de texto depende del idioma. Por ejemplo, diferentes idiomas contienen diferentes analizadores, en los que algunos idiomas incluyen corrector ortográfico o lematización, mientras que otros no.
Rendimiento de consulta en tiempo de ejecución
Normalmente los compradores solo buscan utilizando un idioma. Entonces la consulta se ejecuta solo en un índice.
Mantenimiento más fácil para los diccionarios de idioma
Cada idioma contiene diferentes sinónimos, palabras frecuentes y reglas.

La instancia de HCL Commerce contiene dos catálogos maestros y es posible que cada catálogo maestro contenga diferentes idiomas. Se crean núcleos de índice de entrada de catálogo independientes en cada idioma, bajo cada catálogo maestro. Cuando se indexan objetos de HCL Commerce nuevos, se crean nuevos núcleos utilizando la misma estructura. A continuación, cada índice proporciona su propio conjunto de funcionalidad de búsqueda en el escaparate, como por ejemplo sugerencias de palabra clave automáticas, correcciones ortográficas y diccionarios.

HCL Commerce Modelos de tienda y tipos de entrada de catálogo de WebSphere Commerce

La indexación de búsqueda soporta varios modelos de tienda indexando el store_id de catálogo de nivel superior. Esta información se almacena en la tabla STORECENT. En el sitio ampliado, la información de vía de acceso de tienda se crea en condiciones de consulta, incluidos el store_id de sitio ampliado del comprador y el store_id de elemento padre.

Los tipos de entrada de catálogo de HCL Commerce como por ejemplo Producto, Artículo, Paquete compuesto y Paquete se soportan de forma predeterminada para la indexación de HCL Commerce Search. Están en el mismo índice, con los datos extraídos por separado de la base de datos de HCL Commerce. Por ejemplo, la consulta para extraer valores de atributo para productos difiere en función de los elementos. CATENTTYPE_ID se indexa como campo en el índice de búsqueda para distinguir cada tipo de entrada de catálogo.

Precios en la HCL Commerce Search

La HCL Commerce Search indexa el precio de oferta predeterminado. El precio de oferta predeterminada se suele considerar como el precio de oferta en el contenedor de propuesta de negocio predeterminado de catálogo de maestro de tienda propiedad de la entrada de catálogo. El precio de oferta predeterminado también puede ser compleja al considerar las variables siguientes:
La moneda predeterminada de la tienda
Cada tienda solo contienen una moneda predeterminada. Este precio de moneda predeterminado se indexa como campo en el que puede realizarse una búsqueda. El índice por defecto contiene dólares americanos como moneda predeterminada, según las tiendas de muestra de WebSphere Commerce. Si la moneda predeterminada de la tienda es diferente, puede indexarla añadiendo nuevos campos de búsqueda en el esquema de índice y añadiendo nuevo SQL en Data Import Handler (DIH).
Varias tiendas, cada una con una moneda predeterminada diferente
Esto requiere campos de índice independientes para cada moneda, por ejemplo, price_USD, price_CAD, price_EUR, price_CNY. Los códigos de moneda siguientes contienen un campo de índice predeterminado predefinido:
  • EUR
  • CAD
  • EUR
  • CNY
  • TWD
  • JPY
  • GBP
  • KRW
  • BRL
  • PLN
  • RON
  • RUB
  • EGP
  • ILS
  • TRY
Donde la indexación predeterminada indexa el precio para diferentes monedas, si existe un valor para la moneda en la tabla OFFERPRICE.
Tiendas con varias monedas (conversión de moneda)
Existen dos enfoques diferentes en HCL Commerce para soportar varias monedas y la conversión de moneda. El primer enfoque es rellenar la tabla OFFERPRICE con el precio en cada moneda. El segundo enfoque es calcular el intercambio de moneda basándose en el precio de moneda predeterminado durante el tiempo de ejecución, con el tipo de cambio en la tabla CURCONVERT. Puesto que las tiendas de muestra de HCL Commerce utilizan el segundo enfoque y solo contienen el precio para dólares EE. UU., la indexación predeterminada solo contiene el campo price_USD tal como se ha llenado.
Varios atributos de oferta
La fecha efectiva (OFFER.STARTDATE y OFFER.ENDDATE) no es tenida en cuenta por el índice por defecto. En su lugar, la prioridad de oferta se tiene en cuenta en la indexación, con solo el precio de oferta con la prioridad OFFER.PRECEDENCE más elevada indexada. La cantidad de oferta también se tiene en cuenta en la indexación, donde solo se indexa la oferta con (OFFER.MINIMUMQUANTITY IN (1, 0) OR OFFER.MINIMUMQUANTITY IS NULL).
Alteración temporal de precios en las tiendas de sitio ampliado
No se indexa de forma predeterminada.
Regla de precio
No se indexa de forma predeterminada.
Precio de lista de entrada de catálogo
Indexado de forma predeterminada.

Titularidad de contrato

El filtrado de titularidad de contrato de tiempo de ejecución se lleva a cabo a través del conjunto de productos. Basándose en el contrato elegible del comprador en la sesión, donde los contratos se representan como una lista de conjuntos de productos incluidos y excluidos, se comprueba la tabla PRSETCEREL con cada catentry para asegurarse de que el comprador es elegible para acceder a la entrada de catálogo. Por tanto, PRSETCEREL.PRODUCTSET_ID se indexa y consulta con la lista del comprador de conjuntos de productos incluidos y excluidos. Si el distintivo includeEntireCatalog es verdadero, la lógica de titularidad ignora la comprobación del conjunto de productos. Es decir, todo el catálogo se selecciona se selecciona y productset_id no se evalúa en relación con el índice de búsqueda.

Comprobar ortografía

Un campo multivalor indexado dedicado se utiliza para mantener el origen y el ámbito de las sugerencias de comprobación ortográfica. El contenido del campo spellCheck se llena copiando el contenido de la otra columna. A continuación se indican todos los campos que se copian en el campo de corrección ortográfica (spellCheck):
  • name
  • shortDescription
  • keyword
  • nameOverride
  • shortDescriptionOverride
  • keywordOverride

El campo de índice de corrección ortográfica es el origen de las sugerencias de palabra clave bajo la sección de sugerencia automática de palabra clave y también el origen de las sugerencias de palabras claves con errores ortográficos en el escaparate.

Grupos de catálogo principales y entradas de catálogo

Existen dos campos de grupos de catálogo principales en el índice:
  • parentCatgroup_id_search
  • parentCatgroup_id_facet
El campo parentCatgroup_id_search se utiliza para el filtrado de búsqueda. Por ejemplo, la búsqueda de una entrada de catálogo en un grupo de catálogo principal específico que puede estar en un catálogo maestro o de ventas, en el que un grupo de catálogo principal no es necesariamente el padre directo de las entradas de catálogo. Para mejorar el rendimiento de búsqueda de tiempo de ejecución, parentCatgroup_id_search incluye el grupo padre de la entrada de catálogo y todos sus padres en el gráfico jerárquico de catálogos. Además, ya que la entrada de catálogo puede contener diferentes grupos padre en diferentes catálogos, el grupo de catálogo padre debe tener el prefijo catalog_id: CatalogId_ParentCatgroupId. Este campo con varios valores mejora el rendimiento de la búsqueda, pero reduce el rendimiento de subcategorías de grupo de catálogo. Esto se debe a que el motor de búsqueda calcula el recuente de subcategorías para cada grupo de catálogo padre, aunque la mayoría de los resultados de cálculo no sean útiles para la subcategoría.

Por lo tanto, el campo parentCatgroup_id_facet se utiliza para la subcategoría de búsqueda y solo indexa los grupos de catálogo padre directos de entrada de catálogo en un catálogo específico. Es decir, la creación de facetas de catgroup solo necesita los números de creación de facetas en los grupos de categorías hoja para crear el árbol de navegación. El formato del campo es parentCatgroupId.

Para entradas de catálogo padre en HCL Commerce, un artículo puede pertenecer a un producto, muchos paquetes, muchos paquetes compuestos y muchos kits. Estos ID de entrada de catálogo padre son índices en un campo del índice, de modo que la entrada de catálogo padre se pueda identificar fácilmente.

Diccionario de atributos

Los atributos del diccionario de atributos se indexan en las propiedades de entrada de catálogo. No solo se indexan los atributos, sino que los usuarios de empresa pueden añadir atributos de forma dinámica desde el índice.

La correlación se almacena en la tabla ATTRDICTSRCHCONF. Las columnas ADS_Fn son para tipo de atributos de serie, las columnas ADI_Fn son para tipos enteros de atributos y las columnas ADF_Fn son para tipos flotantes de atributos.

Atributos del diccionario de atributos

Algunas de las propiedades de atributos de diccionario de atributos asociadas de la entrada de catálogo se están indexando bajo el campo de índice de entrada de catálogo ad_attribute multivalor. Las propiedades se señalan en una serie, que se separa mediante un delimitador.

El siguiente fragmento de código es un ejemplo de los datos de atributos del diccionario de atributos sin formato tal como aparecen en el índice de entradas de catálogo:

<arr name="ad_attribute">
  <str>7000000000000000003/_/construction/_/Construction/_/1.00000/_/7000000000000000025/_/Knit/_/Knit/_/19.00000/_/1/_/0/_/1/_/0/_/0/_/2/_/0</str> 
  <str>7000000000000000004/_/length/_/Length/_/1.00000/_/7000000000000000027/_/Short/_/Short/_/20.00000/_/1/_/0/_/1/_/0/_/0/_/2/_/0</str> 
  <str>7000000000000000005/_/material/_/Material/_/1.00000/_/7000000000000000030/_/Synthetic/_/Synthetic/_/21.00000/_/1/_/0/_/1/_/0/_/0/_/2/_/0</str> 
  <str>7000000000000000002/_/swatchcolor/_/Color/_/1.00000/_/0/_/0/_/0/_/.00000/_/1/_/1/_/1/_/0/_/1/_/1/_/0</str> 
  <str>7000000000000000006/_/occasion/_/Occasion/_/1.00000/_/7000000000000000037/_/Cocktail & Evening/_/Cocktail & Evening/_/25.00000/_/1/_/0/_/1/_/0/_/0/_/2/_/0</str> 
  <str>7000000000000000001/_/swatchSize/_/Available Sizes/_/2.00000/_/0/_/0/_/0/_/.00000/_/1/_/1/_/1/_/0/_/1/_/1/_/0</str> 
</arr>
Las propiedades siguientes se están indexando y correlacionando en el ​​Campo de índice​ Nombre​ interno siguiente:
Propiedades de atributos
Índice Nombre de tabla/columna de origen de base de datos Nombre de campo interno como se ha definido en wc-component.xml Descripción:
0 CATENTRYATTR.ATTR_ID attr_id ID exclusivo de atributo.
1 ATTR.IDENTIFIER identifier El identificador de atributo.
2 ATTRDESC.NAME name Nombre de visualización de atributo.
3 CATENTRYATTR.SEQUENCE sequence Secuencia de atributo con su producto.
4 CATENTRYATTR.ATTRVAL_ID attrval_id ID exclusivo de valor de atributo.
5 ATTRVAL.IDENTIFIER identifier Identificador de valor de atributo.
6 ATTRVALDESC.STRINGVALUE,ATTRVALDESC.VALUE valor Valor de visualización de valor de atributo real (si es el tipo de serie, utiliza el campo STRINGVALUE; de lo contrario, utiliza el campo VALUE.
7 ATTRVALDESC.SEQUENCE sequence Secuencia de valor de atributo con el atributo.
8 ATTR.DISPLAYABLE displayable El atributo se marca como con posibilidad de búsqueda.
9 ATTR.SEARCHABLE searchable El atributo se marca como visualizable.
10 ATTR.COMPARABLE comparable El atributo se marca como comparable.
11 ATTR.STOREDISPLAY storeDisplay El atributo se está utilizando para cinta publicitaria.
12 ATTR.FACETABLE facetable El atributo se marca como con posibilidad de facetas.
13 CATENTRYATTR.USAGE usage El atributo se asigna a un producto como atributo descriptivo o de definición.
14 ATTRVALDESC.IMAGE1 image1 Imagen de valor de atributo 1.

Componentes de paquetes compuestos y paquetes

Algunas de las propiedades de componentes de la entrada de catálogo se indexan en el campo de índice multivalor del componente CatalogEntry. Las propiedades se señalan en una serie, que se separa por un delimitador, y se secuencian de acuerdo con el valor de secuencia en las columnas de base de datos CATENTREL.SEQUENCE, DKPDCCOMPLIST.SEQUENCE.

El siguiente fragmento de código es un ejemplo de los datos de componentes sin formato tal como aparece en el indice de entrada de catálogo:

Campo de índice de componente de paquete compuesto y paquete:

<arr name="components">
   <str>11412/_/1.00000</str> 
   <str>11420/_/1.00000</str> 
</arr>
Las siguientes propiedades de paquete compuesto y paquete se están indexando y correlacionando con el siguiente ​​Campo de índice​ Nombre​ interno:
Propiedades de paquete compuesto y paquete
Índice Nombre de tabla/columna de origen de base de datos Nombre de campo interno como se ha definido en wc-component.xml Descripción:
0 CATENTREL.CATENTRY_ID_CHILD y DKPDCCOMPLIST.CATENTRY_ID catentry_id ID exclusivo de componente.
1 CATENTREL.QUANTITY, DKPDCCOMPLIST.QUANTITY quantity Cantidad de componente.