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
. - 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.
- termVectors
- Indica si se debe almacenar el vector de término para un campo.
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"/>