HCL Commerce Search schéma d'index

Le processus d'index HCL Commerce Search implique un schéma d'index de recherche et est généré à partir de tables temporaires.

L'indexation du contenu HCL Commerce avec HCL Commerce Search nécessite une conception de schéma d'index bien structurée, de sorte que le remplissage et l'interrogation de l'index soient efficaces lorsque les recherches sont soumises.

Voici les concepts clés lorsque vous gérez les index et les requêtes dans HCL Commerce Search :
Instance de serveur Solr
Un environnement d'exécution autonome, qui comprend le processus du serveur Solr, le répertoire racine Solr et les noyaux Solr.
Noyau Solr
Permet à une instance Solr de contenir plusieurs configurations et index, ce qui est plus efficace que les instances Solr dédiées pour chaque configuration et index. En raison des fonctions de rechargement et d'échange à noyau chaud, le noyau Solr est recommandé.
Index Solr
Solr conserve un ou plusieurs index, qui sont des collections consultables d'articles appelés documents. Lorsque vous utilisez Solr pour prendre en charge la recherche de catalogue, les documents de l'index représentent les entrées du catalogue.
L'ajout d'un document à un index est souvent appelé indexation du document.
Chaque document est composé d'un ensemble d'attributs appelés zones. Par exemple, un document d'entrée de catalogue peut avoir des zones telles que Partnumber, Name et Description.
Lorsqu'un document est ajouté à un index, chaque zone du document peut être indexée ou stockée, ou indexée et stockée. Une zone indexée peut être utilisée pour la recherche, le tri et les facettes. Si la zone est indexée, les ID de document peuvent être déterminés à partir de valeurs de la zone. Une zone stockée est une zone où sa valeur peut être récupérée par une recherche. Alternativement, si la zone est stockée, les valeurs de la zone peuvent être déterminées à partir des ID de document.
Schéma Solr
Défini dans le fichier de configuration Solr, schema.xml. Il définit les zones de schéma et le type de données des zones.
Gestionnaire d'importation de données (DIH) Solr
Fournit une méthode d'importation des données basée sur la configuration à partir de bases de données relationnelles ou XML vers l'index Solr.
Répertoire racine Solr
Répertoire racine des fichiers de configuration et de données d'index Solr. Chaque instance Solr peut être mappée à un répertoire racine Solr.

Les informations relatives au schéma HCL Commerce Search sont stockées dans le fichier schema.xml, avec d'autres informations de configuration stockées dans le fichier solrconfig.xml. Vous pouvez personnaliser directement ces fichiers en fonction de vos besoins métier. La clé unique de l'index est la zone catentry_id. C'est-à-dire que le document d'index est uniquement destiné à CATENTRY. Si d'autres objets HCL Commerce doivent être indexés, par exemple CATGROUP, un document d'index distinct doit être créé. L'opérateur de requête par défaut est défini sur OR.

Les types de zones par défaut suivants sont disponibles, fournissant des fonctions d'index avancées :
wc_text
Utilisé pour les zones consultables. La zone est segmentée et renseignée en minuscules pour prendre en charge les recherches non sensibles à la casse. Les fonctions du dictionnaire sont activées, telles que les synonymes, les mots neutres et les radicaux.
wc_keywordText
Utilisé pour le tri et la création de facettes génériques. La zone n'est pas segmentée. Aucune fonction de dictionnaire n'est activée. En général, HCL Commerce Search nécessite qu'une zone de tri ou de création de facettes soit indexée, mais pas qu'elle soit multivaluée ni segmentée.
wc_keywordTextLowerCase
Utilisé pour le tri et la création de facettes non sensibles à la casse. La zone n'est pas symbolique et est en minuscules. Aucune fonction de dictionnaire n'est activée. En général, HCL Commerce Search nécessite qu'une zone de tri ou de création de facettes soit indexée, mais pas qu'elles soit multivaluée ni segmentée.

Fichiers de dictionnaire de recherche

Les synonymes, les mots neutres et les radicaux sont contrôlés de la manière suivante :
Synonymes
L'expansion des synonymes est implémentée à l'aide de services Web HCL Commerce.
Mots neutres
Les mots d'arrêt en anglais de base des Etats-Unis sont contenus dans le fichier stopwords.txt. Cette liste de mots neutres contient des mots qui sont fusionnés à partir des mots neutres Solr et des mots neutres ODE par défaut. Vous pouvez conserver manuellement les mots neutres dans le fichier stopwords.txt si nécessaire.
Recherche du radical
EnglishPorterFilterFactory est utilisé pour la langue anglaise, car ce paramètre d'usine prend en charge les mots protégés définis par l'utilisateur, et fonctionne relativement bien. SnowballPorterFilterFactory est utilisé pour d'autres langues. La recherche du radical n'est activée que dans le type de zone wc_text. Vous pouvez conserver manuellement les mots protégés dans le fichier protwords.txt si nécessaire.

Mise en évidence des mots clés de recherche

La mise en évidence des mots clés est un composant de requête par défaut. La requête contrôle le fonctionnement de la mise en évidence. La zone doit être stockée dans l'index pour que la mise en évidence soit activée. L'option de zone stored doit être définie sur true dans le fichier schema.xml.

Correction orthographique

Le contenu indexé est utilisé pour créer le dictionnaire de termes, afin que les données générées dans le dictionnaire soient pertinentes pour les données indexées. La vérification orthographique est activée dans le gestionnaire de requêtes de recherche du composant wc_spellcheck du fichier solrconfig.xml. Le type de zone wc_textSpell et la zone spellCheck sont créés dans le fichier schema.xml. La zone spellCheck contient par défaut le nom de la zone, shortDescription et keyWord.

Dans l'exemple de requête suivante, le terme café est recherché, avec la correction orthographique activée :

http://localhost/solr/CatalogEntry/select?indent=on&version=2.2&q=shortDescription%3Acofffee
&fq=&start=0&rows=10&fl=*%2CsCore&qt=standard&wt=standard&explainOther=&hl.fl=&
spellcheck=true&spellcheck.collate=true

Composant de vérificateur orthographique

Un vérificateur orthographique plus efficace, DirectSolrSpellChecker, est utilisé au lieu de l'index de vérification orthographique. Ce composant du vérificateur orthographique utilise des données directement à partir de l'index CatalogEntry, au lieu de s'appuyer sur un index autonome et distinct. Par conséquent, aucune génération d'index supplémentaire n'est nécessaire pour synchroniser les changements entre l'index de base et l'index du vérificateur orthographique. Pour plus d'informations, voir SpellCheckComponent.

Suggestions de mot clé automatiques

TermsComponent est implémenté dans HCL Commerce pour les fonctions de suggestion automatique. Le composant fournit une création de facettes de zone rapide sur l'ensemble de l'index. Autrement dit, il n'est pas limité par la requête de base ou des filtres. La fréquence des documents renvoyés est le nombre de documents qui correspondent au terme, y compris les documents marqués pour être supprimés mais qui ne sont pas encore supprimés de l'index.

La récupération des termes dans l'ordre d'indexation est relativement rapide, puisque l'implémentation utilise directement les fonctions Lucene TermEnum pour itérer sur le dictionnaire de termes.

Le composant de recherche wc_termsComponent et le gestionnaire de requêtes wc_terms sont créés dans le fichier solrconfig.xml.

La requête de suggestion automatique renvoie vers le gestionnaire de requêtes pour obtenir les termes de la suggestion automatique. Par exemple :

http://localhost/solr/MC_10001_CatalogEntry_en_US/terms?terms.fl=shortDescription&terms.sort=index&erms.limit=5&terms.prefix=ligh

Portée de recherche par défaut

Les colonnes suivantes sont recherchées par défaut, c'est-à-dire que cette recherche remplace celle sur l'ensemble de l'index de recherche, si aucune zone l'index n'est donnée :
  • Description du produit (nom)
  • Courte description (shortDescription)
  • Numéro de pièce (partNumber_ntk)
  • Mot clé
  • Valeurs d'attribut du dictionnaire d'attributs
Toutefois, l'exécution HCL Commerce Search passe toujours dans une portée de recherche et est définie comme faisant partie du profil de recherche. Pour plus d'informations, voir HCL Commerce Search fichier de configuration (wc-search.xml).

Modifications de schéma pour le contenu structuré et non structuré associé

Lorsque le contenu structuré contient une relation avec le contenu non structuré, il doit contenir une nouvelle zone dans le fichier structuré schema.xml pour représenter les informations non structurées. Cette nouvelle zone peut interroger les objets structurés par leur contenu non structuré.

Par exemple, lorsque vous recherchez des produits en fonction des informations de contenu des pièces jointes, la nouvelle définition de zone suivante se présente sous la forme suivante :

<field name="unstructure" type="wc_text" indexed="true" stored="false" multiValued="true" />
Où le fragment stored="false" permet de ne pas récupérer le contenu non structuré par des requêtes.