Fichier de personnalisation du schéma d'index de recherche x-schema.xml

L'ajout de nouvelles zones au schéma d'index nécessite de modifier le fichier x-schema.xml pour ajouter la nouvelle zone d'index. En règle générale, un index existant est mis à jour pour ajouter de nouvelles zones (index local). Dans d'autres instances, il est recommandé d'étendre l'index de produit en créant un index en tant qu'extension d'un index existant (index d'extension).

Le fragment suivant est un exemple de zone d'index pour catentry_id dans l'index CatalogEntry :

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

HCL Commerce types de zone

En plus des types de zones Solr natifs, HCL Commerce introduit certaines types de zones personnalisées. Par exemple :
wc_text
Texte segmenté pour la recherche.
wc_keywordText
Texte non segmenté pour le tri et la création de facettes.
wc_keywordTextLowerCase
Texte non segmenté pour un tri non sensible à la casse.
wc_textSpell
Vérification orthographique pour les zones de texte.

Attributs valides pour les zones

La liste suivante récapitule les attributs valides pour les zones :
nom
(Obligatoire) Le nom de la zone.
type
(Obligatoire) Le nom d'un type précédemment défini à partir de la section <types>.
indexé
Indique si la zone doit être indexée (consultable ou triable).
stored
Indique si la zone doit être récupérable.
compressé
Indique si la zone doit être stockée à l'aide de la compression gzip.
Cet attribut ne s'applique que si le type de zone est compressible. Pour les types de zones standard, seuls TextField et StrField sont compressibles.
multiValued
Indique si la zone peut contenir plusieurs valeurs par document.
omitNorms
Indique s'il faut omettre les normes associées à cette zone. Le paramètre true désactive la normalisation de la longueur et la stimulation du temps d'indexation pour la zone, et économise un peu de mémoire.
Seules les zones de texte intégral ou celles qui nécessitent une stimulation du temps d'indexation ont besoin de normes.
termVectors
Indique s'il faut stocker le vecteur de terme pour une zone.
Lorsque vous utilisez MoreLikeThis, les zones utilisées pour la similitude doivent être stockées pour obtenir les meilleures performances.
Remarque : Lorsque vous utilisez un index d'extension, soyez au courant des recommandations suivantes lorsque vous utilisez les zones indexé et stocké :
  • Si un index d'extension est utilisé comme index de filtre, et que la zone est toujours incluse dans une requête de filtre et la valeur de colonne n'est pas pertinente, définissez la valeur stocké sur false.

    Dans le cas contraire, si l'index d'extension fonctionne toujours pour compléter les métadonnées du noyau principal, telles que le stock, définissez la valeur stocké sur true.

  • Si les facettes sont requises par une zone dans l'index d'extension, définissez la valeur indexé sur true.
  • La définition de la zone stocké sur false peut permettre d'économiser de l'espace de stockage d'index.
  • Si une colonne est copiée dans une colonne dest, il n'est pas nécessaire de définir la zone stocké sur true.

HCL Commerce Convention de dénomination des zones de texte

La convention de dénomination suivante est suivie pour les zones de texte dans HCL Commerce Search :
fieldName
Segmenté et non sensible à la casse par exemple, mfName.
fieldName_cs
Segmenté et sensible à la casse par exemple, mfName_cs.
fieldName_ntk
Non segmenté et non sensible à la casse, par exemple mfName_ntk.
fieldName_ntk_cs
Non segmenté et sensible à la casse, par exemple catenttype_id_ntk_cs.
Remarque :
  • HCL Commerce Search nécessite un index de recherche par langue. Chaque fois que le schéma de recherche est modifié et que l'index est régénéré, il doit être exécuté pour chaque langue.
  • Pour afficher la personnalisation sous l'aperçu de l'espace de travail, toutes les modifications apportées au fichier de base x-schema.xml doivent également être appliquées au fichier x-schema.xml de l'espace de travail.

Index local

Les zones d'index sont définies dans la section fields du fichier x-schema.xml dans le répertoire suivant :
  • workspace_dir\components\foundation\subcomponents\search\solr\home\template\CatalogEntry\conf\locale\locale
Remarque : Le fichier x-schema.xml est spécifique aux paramètres régionaux, car certains types de données utilisent des outils de segmentation de données spécifiques aux paramètres régionaux.
Pour personnaliser le schéma d'index, modifiez le fichier x-schema.xml. La configuration suivante est un exemple d'ajout de zones personnalisables d'entrée de catalogue, field1, field3 et field5 à l'index 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"/>