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. - 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.
- termVectors
- Indique s'il faut stocker le vecteur de terme pour une zone.
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"/>