Archivo de personalización del esquema de índice de búsqueda x-schema.xml

La adición de nuevos campos al esquema de índice requiere la modificación del archivo x-schema.xml para añadir el nuevo campo de índice. Normalmente, un índice existente se actualiza para añadir nuevos campos (índice local). En otros casos, se recomienda ampliar el índice de productos creando un índice como una extensión de un índice existente (índice de extensión).

El siguiente fragmento de código es un campo de índice de ejemplo para el catentry_id en el índice CatalogEntry:

<field name="catentry_id" type="string" indexed="true" stored="true" required="true" multiValued="false"/>

Tipos de campo de HCL Commerce

Además de los tipos de campos Solr nativos, HCL Commerce introduce algunos tipos de campo personalizados. Por ejemplo:
wc_text
Texto simbolizado para la búsqueda.
wc_keywordText
Texto no simbolizado para la clasificación y las facetas.
wc_keywordTextLowerCase
Texto no simbolizado para clasificación que no es sensible a mayúsculas y minúsculas.
wc_textSpell
Corrección ortográfica para campos de texto.

Atributos válidos para los campos

En la siguiente lista se resumen los atributos válidos para los campos:
name
(Necesario) El nombre para el campo.
tipo
(Necesario) El nombre de un tipo definido anteriormente de la sección <types>.
indexed
Indica si el campo debe ser indexado (se puede buscar o clasificar).
stored
Indica si el campo debe ser recuperable.
compressed
Indica si el campo debe almacenarse utilizando la compresión gzip.
Este atributo sólo se aplica si el tipo de campo es comprimible. Para los tipos de campo estándar, sólo TextField y StrField son comprimibles.
multiValued
Indica si el campo puede contener varios valores por documento.
omitNorms
Indica si se deben omitir las normas que están asociados a este campo. Si se establece en true, se inhabilita la normalización de longitud y el aumento de tiempo de índice para el campo, y ahorra algo de memoria.
Sólo los campos de texto completo o los campos que requieren aumento de tiempo de índice necesitan normas.
termVectors
Indica si se debe almacenar el vector de término para un campo.
Cuando se utiliza MoreLikeThis, los campos que se utilizan para la similitud deben almacenarse para obtener un rendimiento óptimo.
Nota: Al trabajar con un índice de extensión, tenga en cuenta las siguientes directrices cuando utilice campos indexed y stored:
  • Si un índice de extensión se utiliza como un índice de filtro, donde el campo siempre se incluye en una consulta de filtro y el valor de la columna es irrelevante, establezca el valor stored en false.

    De lo contrario, si el índice de extensión siempre funciona para complementar la metainformación para el núcleo maestro, como el inventario, establezca el valor stored en true.

  • Si se requieren facetas para un campo en el índice de extensión, establezca el valor de indexed en true.
  • Establecer el campo stored como false puede ahorrar espacio de almacenamiento de índice.
  • Si una columna se copia en una columna dest, no es necesario establecer stored en true.

HCL Commerce Convenio de denominación de campos de texto de WebSphere Commerce

En la HCL Commerce Search se sigue el siguiente convenio de denominación para campos de texto:
fieldName
Simbolizado y no sensible a las mayúsculas y minúsculas, por ejemplo mfName.
fieldName_cs
Simbolizado y sensible a las mayúsculas y minúsculas, por ejemplo mfName_cs.
fieldName_ntk
No simbolizado y no sensible a las mayúsculas y minúsculas, por ejemplo mfName_ntk.
fieldName_ntk_cs
No simbolizado y sensible a las mayúsculas y minúsculas, por ejemplo catenttype_id_ntk_cs.
Nota:
  • La HCL Commerce Search requiere un índice de búsqueda por idioma. Cada vez que se cambia el esquema de búsqueda y se vuelve a generar el índice, se debe realizar para cada idioma.
  • Para ver la personalización en la vista previa del espacio de trabajo, los cambios que se realizan en el archivo x-schema.xml base también se deben aplicar en el archivo x-schema.xml del espacio de trabajo.

Índice local

Los campos de índice se definen en la sección fields del archivo x-schema.xml en el siguiente directorio:
  • workspace_dir\components\foundation\subcomponents\search\solr\home\template\CatalogEntry\conf\locale\locale
Nota: El archivo x-schema.xml es específico del entorno local, ya que algunos tipos de dato utilizan simbolizadores específicos del entorno local.
Para personalizar el esquema de índice, modifique el archivo x-schema.xml. La siguiente configuración es un ejemplo de cómo añadir los campos personalizables de entrada de catálogo, field1, field3 y field5 al índice CatalogEntry:

<field name="catentry_field1" type="tint" indexed="true" stored="true" required="false" multiValued="false"/> 
<field name="catentry_field3" type="tfloat " indexed="true" stored="true" required="false" multiValued="false"/> 
<field name="catentry_field5" type="wc_text" indexed="true" stored="true" required="false" multiValued="false"/>