HCL Commerce Search définition de schéma d'index

La définition de schéma d'index HCL Commerce Search contient des informations sur le traitement des données dans HCL Commerce.

Pour plus d'informations, recherchez dans le fichier solrhome/MC_masterCatalogId/locale/CatalogEntry/conf/schema.xml la définition de schéma d'index de recherche correspondant à votre version de HCL Commerce Search.

Remplacement des sites étendus d'entrée de catalogue

Lorsqu'un site étendu remplace l'une des propriétés d'entrée de catalogue suivantes : Le nom, la brève description et les mots clés, à la fois pour le magasin de ressources et les propriétés du site étendu, sont en cours d'indexation. Si un accès correspond soit au magasin de ressources, soit au magasin de sites étendu, le produit est renvoyé et mis à jour à l'heure d'exécution avec le texte d'affichage de remplacement du site étendu.

Nom de la catégorie

Le nom de la catégorie est indexé dans l'index CatalogEntry. Il s'agit d'une zone consultable, utilisée pour améliorer la pertinence du produit qui est renvoyé. Les composants d'exécution stimulent cette zone. Pour plus d'informations, voir Pertinence de la recherche et marchandisage.

Catalogues maître et plusieurs langues

Une instance HCL Commerce peut avoir plusieurs catalogues principaux. Chaque catalogue principal appartenant à un magasin, ou dans des sites étendus, peut appartenir à un cluster de magasins. Le catalogue principal n'est pas reflété dans le schéma d'index. C'est-à-dire qu'il se reflète au niveau des noyaux d'index. En outre, chaque catalogue principal contient ses langues prises en charge via ses magasins joints. Un noyau d'index distinct est créé pour chaque langue et catalogue principal.

Voici les principaux avantages de la conservation de noyaux d'index distincts pour chaque langue :
Effacer la conception de schéma
Le schéma de recherche de texte dépend de la langue. Par exemple, des langues différentes contiennent des analyseurs différents. Et l'on trouve dans certaines langues la vérification de l'orthographe ou la recherche du radical, alors que dans d'autres, ce n'est pas le cas.
Performances de la requête d'exécution
Les clients ne recherchent généralement qu'à l'aide d'une seule langue. La requête s'exécute ensuite au niveau d'un seul index.
Maintenance plus facile des dictionnaires linguistiques
Chaque langue contient des synonymes, des mots neutres et des règles différentes.

Lorsque l'instance HCL Commerce contient deux catalogues principaux, chaque catalogue principal contenant éventuellement des langues différentes. Des noyaux d'index d'entrées de catalogue distincts sont créés dans chaque langue, sous chaque catalogue principal. Lorsque de nouveaux objets HCL Commerce sont indexés, de nouveaux noyaux sont créés à l'aide de la même structure. Chaque index fournit ensuite son propre ensemble de fonctionnalités de recherche dans la vitrine, notamment ses propres suggestions de mots clés automatiques, corrections orthographiques et dictionnaires.

HCL Commerce modèles de magasin et types d'entrées de catalogue

L'indexation de recherche prend en charge divers modèles de magasin en indexant la valeur store_id Catentry de niveau supérieur. Ces informations sont stockées dans la table STORECENT. Dans le site étendu, les informations relatives au chemin d'accès du magasin sont intégrées dans des conditions de requête, notamment les conditions store_id de site étendu et store_id d'actifs parent.

Les types catentry HCL Commerce tels que Produit, Article, groupement et Package sont pris en charge par défaut pour l'indexation HCL Commerce Search. Ils se trouvent dans le même index, avec leurs données extraites séparément de la base de données HCL Commerce. Par exemple, la requête pour extraire des valeurs d'attribut pour les produits diffère pour les articles. La valeur CATENTTYPE_ID est indexée en tant que zone dans l'index de recherche pour distinguer le type de chaque catentry.

Prix dans HCL Commerce Search

HCL Commerce Search indexe le prix de vente par défaut. Le prix de vente par défaut est généralement considéré comme le prix de vente sous le conteneur de positions commerciales par défaut du catalogue principal du magasin de catentry. Le prix de vente par défaut peut également être complexe si l'on prend en compte les variables suivantes :
Devise par défaut du magasin.
Chaque magasin ne contient qu'une seule devise par défaut. Ce prix par défaut de la devise est indexé en tant que zone consultable. L'index par défaut contient USD comme devise par défaut, après les exemples de magasins WebSphere Commerce. Si la devise par défaut de votre magasin est différente, vous pouvez l'indexer en ajoutant de nouvelles zones consultables dans le schéma d'index et en ajoutant une nouvelle instruction SQL dans le gestionnaire d'importation de données (DIH).
Plusieurs magasins, chacun avec une devise par défaut différente
Cela nécessite des zones d'index distincts pour chaque devise, par exemple, price_USD, price_CAD, price_EUR et price_CNY. Les codes de devises suivants contiennent une zone d'index par défaut prédéfinie :
  • EUR
  • CAD
  • EUR
  • CNY
  • TWD
  • JPY
  • GBP
  • KRW
  • BRL
  • PLN
  • RON
  • RUB
  • EGP
  • ILS
  • TRY
Lorsque l'indexation par défaut indexe le prix des différentes devises, s'il y a une valeur pour la devise dans la table OFFERPRICE.
Magasins avec plusieurs devises (conversion de devises)
Deux approches différentes existent dans HCL Commerce pour prendre en charge plusieurs devises et la conversion des devises. La première approche consiste à renseigner la table OFFERPRICE avec le prix dans chaque devise. La deuxième approche consiste à calculer le taux de change en fonction du prix de la devise par défaut pendant la durée d'exécution, le taux de change étant indiqué dans la table CURCONVERT. Etant donné que les magasins d'échantillon HCL Commerce utilisent la deuxième approche et ne contiennent que le prix pour USD, l'indexation par défaut ne contient que la zone price_USD telle qu'elle est remplie.
Attributs d'offre divers
La date d'entrée en vigueur (OFFER.STARTDATE et OFFER.ENDDATE) n'est pas prise en compte par l'index par défaut. Au lieu de cela, la priorité de l'offre est prise en compte dans l'indexation, avec seulement le prix de vente ayant la valeur OFFER.PRECEDENCE la plus élevée indexée. La quantité d'offres est également prise en compte dans l'indexation, où seule l'offre avec (OFFER.MINIMUMQUANTITY IN (1, 0) OR OFFER.MINIMUMQUANTITY IS NULL) est indexée.
Remplacement de prix dans le magasin de site étendu
Non indexé par défaut.
Règle de tarification
Non indexé par défaut.
Prix catalogue de l'entrée de catalogue
Indexé par défaut.

Admissibilité aux contrats

Le filtrage des autorisations du contrat d'exécution est effectué par l'ensemble de produits. En fonction du contrat admissible du client au cours de la session, lorsque les contrats sont représentés sous la forme d'une liste d'ensembles de produits inclus et exclus, la table PRSETCEREL est vérifiée par rapport à chaque catentry pour s'assurer que le client est éligible pour accéder à l'entrée catentry. Par conséquent, PRSETCEREL.PRODUCTSET_ID est indexé et interrogé sur la liste des ensembles de produits inclus et exclus du client. Lorsque l'indicateur includeEntireCatalog est true, la logique d'autorisation ignore la vérification de l'ensemble de produits. Autrement dit, l'ensemble du catalogue est sélectionné et productset_id n'est pas évalué par rapport à l'index de recherche.

Vérifier l'orthographe

Une zone à plusieurs valeurs indexée dédiée est utilisée pour maintenir la source et la portée des suggestions de vérification orthographique. Le contenu de la zone spellCheck est renseigné par la copie du contenu d'une autre colonne. Voici toutes les zones copiées dans la zone spellCheck :
  • nom
  • shortDescription
  • mot clé
  • nameOverride
  • shortDescriptionOverride
  • keywordOverride

La zone d'index de vérification orthographique est la source des suggestions de mots clés sous la section Suggestion automatique de mots clés, ainsi que la source des suggestions de mots clés mal orthographiés dans la vitrine.

Groupes de catalogues parent et catentries

Il existe deux zones de groupe de catalogues parent dans l'index :
  • parentCatgroup_id_search
  • parentCatgroup_id_facet
La zone parentCatgroup_id_search est utilisée pour le filtrage de recherche. Par exemple, recherchez une catentry sous un groupe de catalogues parent spécifique qui peut se trouver dans le catalogue principal ou de vente, où le groupe de catalogues parent n'est pas nécessairement le parent direct des catentries. Pour améliorer les performances de recherche d'exécution, parentCatgroup_id_search inclut à la fois le groupe parent direct de catentry et tous ses parents dans le graphique hiérarchique du catalogue. En outre, puisqu'une catentry peut contenir plusieurs groupes parent sous différents catalogues, le catgroup parent doit avoir comme préfixe la valeur catalog_id : CatalogId_ParentCatgroupId. Cette zone à plusieurs valeurs améliore les performances de recherche, mais réduit les performances de création de facettes catgroup. C'est parce que le moteur de recherche calcule le nombre de facettes pour chaque catgroup parent, même si la plupart des résultats de calcul ne sont pas utiles pour les facettes.

Par conséquent, la zone parentCatgroup_id_facet est utilisée pour la création de facettes de recherche, et indexe uniquement les groupes de catalogue parent directs de catentry dans un catalogue spécifique. Autrement dit, la création de facettes catgroup a uniquement besoin des numéros de création de facettes sur les groupes de catalogue de feuilles pour générer l'arborescence de navigation. Le format de la zone est parentCatgroupId.

Pour les catentries parent dans HCL Commerce, un article peut appartenir à un produit, à de nombreux paquets, à de nombreux groupements, et à de nombreux kits. Les ID de ce catentry parent sont des index dans une zone de l'index, de sorte que la catentry parent puisse être facilement identifiée.

Dictionnaire d'attributs

Les attributs du dictionnaire d'attributs sont indexés en tant que propriétés catentry. Non seulement les attributs sont indexés, mais les utilisateurs professionnels peuvent ajouter dynamiquement des attributs à partir de l'index.

Le mappage est stocké dans la table ATTRDICTSRCHCONF. Les colonnes ADS_Fn sont destinées au type de chaîne d'attributs, les colonnes ADI_Fn sont destinées au type d'attributs entier, et les colonnes ADF_Fn sont destinées au type d'attributs flottant.

Attributs du dictionnaire d'attributs

Certaines des propriétés des attributs du dictionnaire d'attributs associées à l'entrée de catalogue sont indexées sous la zone d'index ad_attribute catalogEntry à valeurs multiples. Les propriétés sont segmentées dans une chaîne, séparée par un délimiteur.

Le fragment suivant est un exemple des données d'attributs brutes du dictionnaire d'attributs telles qu'elles apparaissent dans l'index d'entrée de catalogue :

<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>
Les propriétés suivantes sont indexées et mappées au nom de zone d'index interne suivant :
Propriétés des attributs
Index Nom de la table/colonne source de base de données Nom de zone interne tel que défini dans wc-component.xml Description
0 CATENTRYATTR.ATTR_ID attr_id L'ID unique d'attribut.
1 ATTR.IDENTIFIER identifier Identificateur de l'attribut.
2 ATTRDESC.NAME nom Le nom d'affichage d'attribut.
3 CATENTRYATTR.SEQUENCE sequence La séquence d'attribut avec son produit.
4 CATENTRYATTR.ATTRVAL_ID attrval_id L'ID de valeur d'attribut unique.
5 ATTRVAL.IDENTIFIER identifier L'identificateur de valeur d'attribut.
6 ATTRVALDESC.STRINGVALUE,ATTRVALDESC.VALUE valeur La valeur d'affichage de la valeur d'attribut réelle (s'il s'agit d'un type de chaîne, la zone STRINGVALUE est utilisée ; sinon, la zone VALUE est utilisée.
7 ATTRVALDESC.SEQUENCE sequence La séquence de valeur d'attribut avec son attribut.
8 ATTR.DISPLAYABLE displayable L'attribut est marqué comme consultable.
9 ATTR.SEARCHABLE searchable L'attribut est marqué comme affichable.
10 ATTR.COMPARABLE comparable L'attribut est marqué comme comparable.
11 ATTR.STOREDISPLAY storeDisplay L'attribut est utilisé pour le ruban publicitaire.
12 ATTR.FACETABLE apte aux facettes L'attribut est marqué comme apte aux facettes.
13 CATENTRYATTR.USAGE utilisation L'attribut est attribué à un produit en tant qu'attribut descriptif ou de définition.
14 ATTRVALDESC.IMAGE1 image1 L'image 1 de la valeur d'attribut.

Composants des groupements et packages

Certaines propriétés des composants de l'entrée de catalogue sont indexées sous la zone d'index à plusieurs valeurs du composant CatalogEntry. Les propriétés sont segmentées dans une chaîne, séparée par un délimiteur et séquencée en fonction de leur valeur de séquence dans les colonnes de base de données CATENTREL.SEQUENCE, DKPDCCOMPLIST.SEQUENCE.

Le fragment suivant est un exemple des données des composants brutes telles qu'elles apparaissent dans l'index d'entrée de catalogue :

Zone d'index de composant de groupement et de package :

<arr name="components">
   <str>11412/_/1.00000</str> 
   <str>11420/_/1.00000</str> 
</arr>
Les propriétés Groupement et Package suivantes sont indexées et mappées au nom de zone d'index interne suivant :
Propriétés Groupement et Package
Index Nom de la table/colonne source de base de données Nom de zone interne tel que défini dans wc-component.xml Description
0 CATENTREL.CATENTRY_ID_CHILD et DKPDCCOMPLIST.CATENTRY_ID catentry_id L'ID unique du composant.
1 CATENTREL.QUANTITY, DKPDCCOMPLIST.QUANTITY quantity La quantité de composants.