HCL Commerce Search fichier de configuration (wc-search.xml)

Le fichier de configuration HCL Commerce Search (wc-search.xml) contient des propriétés associées à la configuration des fonctions d'application de HCL Commerce Search. Vous pouvez modifier les propriétés pour les adapter aux besoins de votre site en créant un fichier wc-search.xml ne contenant que les propriétés modifiées.
Le fichier de configuration HCL Commerce Search se compose de quatre sections :
  • Serveur - Définit comment se connecter au serveur de recherche. Ne pas modifier.
    Remarque : Utilisez le mode incorporé pour le serveur de recherche. Autrement dit, n'utilisez pas la configuration avancée pour le serveur de recherche, car elle utilise une unité d'exécution de conteneur Web supplémentaire pour effectuer la recherche, ce qui est inefficace.
  • Index - Définit les propriétés associées de l'index de recherche. Ne pas modifier.
  • Profils - Répertorie les ensembles de paramètres d'exécution de recherche (nom de l'index de recherche, zones de l'index de recherche, fournisseurs d'expressions, pagination et tri) et les configurations de fonctions de recherche (mise en évidence du texte, facettes et correction orthographique). Vous pouvez contrôler l'expérience de recherche en vitrine au niveau d'une page à l'aide de différents profils de recherche.
Les fichiers de configuration HCL Commerce Search sont stockés aux emplacements par défaut suivant :
  • Le fichier de configuration HCL Commerce Search par défaut pour l'application de recherche : Search_home/resources/search/runtime/config/com.ibm.commerce.search
  • Le fichier de configuration HCL Commerce Search étendu pour l'application de recherche : Pour modifier la valeur d'une propriété existante dans le fichier de configuration HCL Commerce Search, vous devez créer une version personnalisée du fichier à cet emplacement. La version personnalisée du fichier ne doit contenir que les propriétés modifiées : workspace_dir/search-config-ext/src/runtime/config/com.ibm.commerce.search/wc-search.xml.

Propriétés des profils de recherche

La table suivante recense les propriétés de profil configurables dans le fichier. Pour plus d'informations sur les propriétés du profil de recherche, ouvrez le fichier wc-search.xml et accédez à votre section d'intérêt.
wc-search.xml propriétés configurables
Propriété Description
Profil Un profil de recherche est une unité de regroupement logique de différentes configurations et implémentations, qui créent la requête de recherche finale et formatent la réponse.

Pour obtenir une liste complète des profils de recherche par défaut, voir HCL Commerce Search profiles.

Requête Déclare des propriétés qui influencent la façon dont l'expression de requête s'exécute au niveau du serveur de recherche au moment de l'exécution.

Les paramètres par défaut peuvent être définis dans le fichier wc-component.xml. Pour plus d'informations, voir Propriétés de recherche dans le fichier de configuration de composant (wc-component.xml).

Il contient les paramètres suivants :
maxRows
Limite le nombre maximal de résultats de recherche par page. La valeur par défaut est 50.
maxTimeAllowed
Limite la durée maximale autorisée (en millisecondes) pour l'exécution de toute requête. Si la requête prend plus de temps que ce qui est spécifié, un délai d'attente se produit et des résultats partiels (ou non) peuvent être renvoyés. Si la valeur est nulle, le paramètre est supprimé de la requête. La valeur par défaut est 15000.
Fournisseurs d'expressions requis. Ces fournisseurs ne peuvent pas être personnalisés ou reconfigurés.
SearchProfileNameValidator
Un validateur d'expression de recherche pour le nom du profil de recherche. Ce fournisseur s'assure que le paramètre de contrôle _wcf.search.profile est transmis et que sa définition est définie dans le fichier de configuration de recherche.
SearchIndexNameValidator
Ce fournisseur d'expressions sert à valider le nom du noyau de l'index. Il peut également déterminer le nom s'il n'est pas spécifié par :
  1. Vérifiez si le paramètre _wcf.search.index est transmis dans le cadre de l'expression.
  2. Si ce n'est pas le cas, recherchez le nom à partir du profil de recherche.
  3. Sinon, essayez de dériver le nom de base à l'aide de l'ID du magasin pour déterminer l'ID de catalogue principal et le nom du paramètre régional.
Le nom d'index résultant est ajouté dans l'objet SelectionCriteria (_wcf.search.index) pour d'autres traitements en aval.
SearchExpressionValidator
Ce fournisseur d'expression de recherche garantit que l'expression de la requête n'est pas vide. Si c'est le cas, il génère une condition tout compris par défaut (*:*) et l'ajoute à l'objet SelectionCriteria (_wcf.search.internal.optional.query). Il garantit également que tous les caractères spéciaux sont correctement mis en échappement.
Fournisseurs d'expressions facultatifs :
SearchBasedMerchandisingExpressionProvider
Fournisseur d'expression de marchandisage basé sur la recherche. Ce fournisseur appelle le composant marketing pour exécuter des règles de recherche. Les règles de recherche peuvent s'appliquer à toutes les recherches ou mots clés de recherche spécifiques à la cible. Elles peuvent ajouter plus de contraintes à la requête de recherche pour influencer l'ordre des résultats. Elles peuvent également ajouter de nouvelles conditions à la requête de recherche avec l'intention d'ajouter de nouveaux produits aux résultats de recherche.

Par exemple, les règles de recherche peuvent étendre les résultats de recherche pour qu'ils contiennent uniquement les produits en stock. Elles peuvent également placer les produits qui répondent à des critères spécifiques (tels que la marque, la marge bénéficiaire ou le classement des clients) en tête des résultats de recherche.

Les fragments de requête produits par les règles de recherche sont ajoutés dans l'objet SelectionCriteria pour d'autres traitements en aval :
  • _wcf.search.internal.filterquery
  • _wcf.search.internal.optional.query
  • _wcf.search.internal.mandatory.query
  • _wcf.search.internal.boostquery
  • _wcf.search.internal.sort
  • _wcf.search.term
Remarque : Ce fournisseur s'exécute avant SolrSearchByKeywordExpressionProvider pour s'assurer que les termes de recherche peuvent être remplacés avec succès par l'action marketing Ajouter ou remplacer les critères de recherche.
SearchByCategoryExpressionProvider
Gère la recherche par catégorie et prend en compte du catalogue de vente dans le contexte métier actuel.

L'expression Solr résultante est rajoutée dans l'objet SelectionCriteria (catégorie dans _wcf.search.internal.mandatory.query et catalogue dans _wcf.search.internal.filterquery) pour d'autres traitements en aval.

SearchByManufacturerExpressionProvider
Gère la recherche par requête de marque. L'expression Solr résultante est ajoutée dans l'objet SelectionCriteria (_wcf.search.internal.meta) et sera encodée ultérieurement dans la chaîne de métadonnées.
SearchByPriceExpressionProvider
Gère la requête de recherche par fourchette de prix générée à partir de la page Recherche avancée. L'expression Solr résultante est ajoutée dans l'objet SelectionCriteria (_wcf.search.internal.meta) et sera encodée ultérieurement dans la chaîne de méta-informations.
SearchByFacetExpressionProvider
Gère la requête de recherche par facettes. Ce fournisseur permet de convertir une expression XPath en expression Solr spécifique. L'expression Solr résultante est ajoutée dans l'objet SelectionCriteria (_wcf.search.internal.meta) et sera encodée ultérieurement dans la chaîne de méta-informations.
SearchByStorePathExpressionProvider
Génère des conditions pour gérer le chemin d'accès du magasin. L'expression Solr résultante est rajoutée dans l'objet SelectionCriteria (_wcf.search.internal.filterquery) pour d'autres traitements en aval.
SearchByPublishedEntryOnlyExpressionProvider
Limite les résultats de recherche aux entrées publiées. L'expression Solr résultante est rajoutée dans l'objet SelectionCriteria (_wcf.search.internal.filterquery) pour d'autres traitements en aval.
SearchByCustomExpressionProvider
Gère la recherche par expression personnalisée stockée dans _wcf.search.expr. Cette expression personnalisée est ajoutée à l'objet SelectionCriteria (_wcf.search.internal.optional.query) pour d'autres traitements en aval.
SearchFacetConditionExpressionProvider
Génère une liste de facettes liées aux attributs et de gamme de prix spécifiques aux devises pour la requête de recherche en cours. L'expression Solr résultante est ajoutée dans l'objet SelectionCriteria (_wcf.search.facet.field) pour d'autres traitements en aval.
SearchTypeExpressionProvider
Ce fournisseur d'expressions de recherche gère le type de correspondance pour les requêtes de recherche de mots clés. La pseudo logique suivante décrit comment le type de correspondance (_wcf.search.type) peut être converti en critères de recherche :
  1. Le type de correspondance est par défaut ANY, exclure SKU.
  2. L'expression Exclure SKU est représentée comme -catenttype_id_ntk_cs:ItemBean.
  3. L'expression Seulement SKU est représentée comme - +catenttype_id_ntk_cs:ItemBean.
  4. L'expression Inclure SKU n'a pas besoin d'être qualifiée.
L'expression Solr résultante est rajoutée dans l'objet SelectionCriteria (_wcf.search.internal.filterquery) pour d'autres traitements en aval.
SearchProductSequencingExpressionProvider
Organise les entrées de produits dans le résultat de la recherche par classement.
SearchCategorySequencingExpressionProvider
Trie les catégories par classement.
SearchTermAssociationExpressionProvider
Gère l'expansion de l'association de termes de recherche (STA). Ce fournisseur permet d'obtenir des synonymes et de remplacer le terme de recherche pour obtenir le résultat final. Les synonymes récupérés par le service STA sont rajoutés à l'objet SelectionCriteria pour d'autres traitements en aval : _wcf.search.internal.synonyms.
SearchProductEntitlementExpressionProvider
Effectue l'autorisation de produit. Il est géré en appelant ProductEntitlementExpressionHelper pour générer des expressions de requête spécifiques aux moteurs de recherche pour les contrats qui contiennent les modalités CatalogueFilter et ProductSet. Si une liste de contrats est transmise, ProductEntitlementExpressionHelper génère l'expression de recherche par rapport à ces contrats, au lieu de récupérer le contrat du contexte. Dans le cas contraire, si aucun contrat n'est transmis en tant que paramètres, cette classe d'aide récupère les contrats admissibles actuels et génère des expressions de recherche à leur niveau. L'expression Solr résultante est rajoutée dans l'objet SelectionCriteria (_wcf.search.internal.filterquery) pour d'autres traitements en aval.
SearchCategoryEntitlementExpressionProvider
Exécute l'autorisation de niveau groupe du catalogue en déclenchant une recherche sur le noyau Entrée de catalogue. Ensuite, il analyse le nombre de facettes renvoyé à partir du noyau d'entrée du catalogue et construit une requête de filtrage interne sur le noyau du groupe de catalogues. L'expression Solr résultante est rajoutée dans l'objet SelectionCriteria (_wcf.search.internal.filterquery) pour d'autres traitements en aval.
SearchByKeywordRelevancyExpressionProvider
Gère la requête de recherche par mot clé.
SearchInventoryExpressionProvider
Gère les recherches pour l'index de recherche de stock.
SearchByIdentifierExpressionProvider
Recherche les identificateurs à l'aide de l'analyseur de requête dismax. L'expression Solr résultante est rajoutée dans l'objet SelectionCriteria pour un autre traitement à l'aide du paramètre de contrôle _wcf.search.internal.optional.query.
SearchWebContentStoreInfoExpressionProvider
Un fournisseur d'expressions de recherche afin de créer une condition de recherche obligatoire pour la recherche de contenu non structuré, ainsi qu'un chemin d'accès au magasin, le cas échéant. L'expression Solr résultante est rajoutée dans l'objet SelectionCriteria pour un autre traitement à l'aide du paramètre de contrôle _wcf.search.internal.filterquery.
SearchByJoinQueryExpressionProvider
Un fournisseur d'expressions de recherche permettant de rejoindre deux index et limiter le résultat à une condition spécifique. L'expression Solr résultante est rajoutée dans l'objet SelectionCriteria pour un autre traitement en aval à l'aide du paramètre de contrôle _wcf.search.internal.filterquery.
Postprocesseurs :
MainCatalogEntryViewResultQueryPostprocessor
Reformatez la réponse Solr en un objet structuré. La configuration de mappage est définie dans le fichier wc-component.xml sous la section XPathToCatalogEntryFieldNameMapping.
MainCatalogGroupViewResultQueryPostprocessor
Reformatez la réponse Solr en un objet structuré. Il remplit la partie catalogGroupView de la réponse. La configuration de mappage est définie dans le fichier wc-component.xml sous la section XPathToCategoryViewBODResponseFieldNameMapping.
MainWebContentViewResultQueryPostprocessor
Reformatez la réponse Solr en un objet structuré. Il remplit la partie webContentView de la réponse. La configuration de mappage est définie dans le fichier wc-component.xml sous la section XPathToWebContentViewBODResponseFieldNameMapping.
MainCatalogEntryViewResultQueryPostprocessor
Ce post-processeur de requêtes de recherche remplit la partie catalogEntryView de la réponse.
SearchCatalogEntryViewPriceQueryPostprocessor
Reformatez la réponse Solr en un objet structuré. Il remplit la liste de prix dans la partie catalogEntryView de la réponse. La configuration de mappage est définie dans le fichier wc-component.xml sous la section XPathToPriceBODResponseFieldNameMapping.
SearchCatalogEntryViewDescriptionQueryPostprocessor
Ce post-processeur de requêtes de recherche peut être utilisé pour fournir les informations de remplacement de description d'entrée de catalogue et la prise en charge de la commutation de langue. Ce processeur de publication émet une requête de base de données pour récupérer la description du remplacement de l'entrée de catalogue, qui inclut le nom d'entrée de catalogue, la description courte, la description longue, le mot clé, la miniature et les propriétés d'image complète. Il utilise les modèles de requête IBM_Get_CatentryDesc_By_LangId_And_CatentryId et IBM_Get_CatentryDescOverride_By_LangId_And_CatentryId_And_GroupId définis dans le fichier wc-query-utilities.tpl.
SearchCatalogEntryViewSKUQueryPostprocessor
Reformatez la réponse Solr en un objet structuré. Il remplit la liste SKU dans la partie catalogEntryView de la réponse. La configuration de mappage est définie dans le fichier wc-component.xml sous la section XPathToCatalogEntryViewBODResponseFieldNameMapping. Ce post-processeur effectue une requête de sous-recherche pour récupérer les articles associés à l'entrée de catalogue (SKU). Il utilise le profil IBM_findCatalogEntrySKUssearch.
SearchCatalogEntryViewAttributesQueryPostprocessor
Reformatez la réponse Solr en un objet structuré. Il remplit la liste Attributs et la liste de valeurs Attributs dans la partie catalogEntryView de la réponse. La configuration de mappage est définie dans le fichier wc-component.xml sous les sections XPathToAttributesBODResponseFieldNameMapping et XPathToAttributesValuesBODResponseFieldNameMapping.
SearchCatalogEntryViewAttachmentsQueryPostprocessor
Reformatez la réponse Solr en un objet structuré. Il remplit la liste Pièces jointes dans la partie catalogEntryView de la réponse. La configuration de mappage est définie dans le fichier wc-component.xml sous la section XPathToAttachmentsBODResponseFieldNameMapping. Ce post-processeur effectue une requête de sous-recherche pour récupérer les articles associés aux actifs associés à l'entrée de catalogue. Il utilise le profil de recherche IBM_findCatalogEntryAssociatedAssets.
SearchCatalogEntryViewComponentsQueryPostprocessor
Reformatez la réponse Solr en un objet structuré. Il remplit la liste Composants dans la partie catalogEntryView de la réponse. La configuration de mappage est définie dans le fichier wc-component.xml sous la section XPathToComponentsBODResponseFieldNameMapping. Ce post-processeur effectue une requête de sous-recherche pour récupérer les articles associés aux composants associés à l'entrée de catalogue. Il utilise le profil IBM_findCatalogEntryComponentssearch.
SearchCatalogEntryViewMerchandisingAssocQueryPostprocessor
Reformatez la réponse Solr en un objet structuré. Il remplit lmerchandisingAssociationslistdans la partie catalogEntryView de la réponse. La configuration de mappage est définie dans le fichier wc-component.xml sous la section XPathToMerchandisingAssociationsBODResponseFieldNameMapping. Ce post-processeur lance une requête dans la base de données pour récupérer les identificateurs de marchandisage associés aux entrées de catalogue, puis effectue une sous-recherche pour récupérer les détails de marchandisage réellement associés. Il utilise le profil de recherche It uses the IBM_findCatalogEntryAssociatedMerchandising et le modèle de requête BM_GET_MERCHANDISING_ASSOCIATIONS_BY_CATALOG_ENTRY_ID définis dans le fichier wc-query-utilities.tpl.
SearchBrandSuggestionQueryPostprocessor
Un post-processeur de requêtes de recherche pour traiter les suggestions de marque.
SearchCategorySuggestionQueryPostprocessor
Un post-processeur de requêtes de recherche pour traiter les suggestions de catégorie.
SearchPreviewQueryPostprocessor
Un post-processeur de requêtes de recherche pour traiter le contexte d'aperçu.
SearchExperimentQueryPostprocessor
Un post-processeur de requêtes de recherche pour traiter les métadonnées d'expérience des règles de recherche.
SearchFacetQueryPostprocessor
Joignez une réponse à facettes dans les données.
SearchChildCategoryEntitlementQueryPostprocessor
Retirez unentitled child catgroupId de solrDocumentList dans la réponse.
SearchCategoryEntitlementQueryPostprocessor
Retirez unentitled sub category SolrDocument de solrDocumentList dans la réponse.
SearchEntitlementQueryPostprocessor
Placez les informations catgroup_id_search sur les facettes dans SearchResponse.
SearchBreadCrumbTrailQueryPostprocessor
Générez le chemin de navigation.
SearchSpellCheckSuggestionQueryPostprocessor
Reformatez les commentaires de correction orthographique Solr en une liste plus lisible de mots clés.
SearchCatalogGroupViewUserDataQueryPostprocessor
Ajoutez des zones d'index personnalisées à la réponse de recherche pour la ressource de la vue de catégorie.
SearchRelevancyByProductGroupingPostprocessor
Un post-processeur de requêtes de recherche pour gérer les configurations de regroupement des résultats.
SearchCatalogEntryViewVariantAndSKUQueryPostprocessor

Reformatez la réponse Solr en un objet structuré. Il remplit les variantes et la liste des SKU dans la partie catalogEntryView de la réponse. La configuration de mappage est définie dans le fichier wc-component.xml sous la section XPathToCatalogEntryViewBODResponseFieldNameMapping. Ce post-processeur effectue une requête de sous-recherche pour récupérer les articles associés à l'entrée de catalogue (variantes et SKU). Il utilise les profils de recherche IBM_findCatalogEntrySKUs et IBM_findCatalogEntrySKUsByVariantIds.

Trier La section de tri est destinée à définir les options de tri et leurs valeurs correspondantes qui peuvent être utilisées directement à partir de la vitrine.
Par exemple :

<_config:sort>
<_config:field name="1" value="mfName_ntk_cs asc" />
<_config:field name="2" value="name_ntk asc,price_* asc" />
</_config:sort> 
Lorsqu'une valeur de 2 est transmise par un paramètre de contrôle _wcf.search.sort, les deux paramètres suivants sont ajoutés à l'expression Solr finale :

sort=name_ntk+asc,price_USD+asc 
Remarque : price_* contient un opérateur * qui est remplacé par la devise du client au moment de l'exécution. Dans l'exemple, la devise du client est USD.
Résultat Déclare une liste de zones d'index de recherche à renvoyer dans le jeu des résultats de recherche. Vous pouvez appliquer plus de filtrage de données.
Mettre en évidence Déclare une liste de zones d'index de recherche à utiliser pour la mise en évidence et leur comportement de mise en évidence associé au moment de l'exécution.
Facettes Déclare une liste de zones d'index de recherche à utiliser pour la création de facettes et leur comportement de création de facettes associé au moment de l'exécution.
Il contient les paramètres ssuivants :
sort
Détermine l'ordre des contraintes de la zone de facettes :
Effectif
Trier les contraintes par nombre (le nombre le plus élevé en premier). Valeur par défaut.
index
Renvoyer les contraintes qui sont triées dans leur ordre d'indexation (lexicographique par terme indexé). Pour les termes de la gamme ASCII, cette liste est classée par ordre alphabétique.
minCount
Indique que le nombre minimum de zones de facettes doit être inclus dans la réponse. La valeur par défaut est 1.
limit
Indique le nombre maximal de contraintes à renvoyer pour les zones de facettes. Une valeur négative indique qu'il n'y a pas de limite. La valeur par défaut est 100.
Remarque : La colonne MAX_DISPLAY de la table FACET remplace cette limite par défaut dans la vitrine.
VÚrification orthographique Définit le comportement de vérification orthographique au moment de l'exécution.
Elle contient le paramètre suivant :
limit
Indique le nombre maximum de suggestions à renvoyer. La valeur par défaut est 5.
groupe Définit le comportement de regroupement des résultats de recherche au moment de l'exécution.
groupe
Spécifie si le regroupement des résultats de recherche est activé. La valeur par défaut est false.

Vous pouvez ajouter d'autres paramètres de regroupement à l'aide de la même convention group.parameter_name. Pour plus d'informations sur les paramètres de regroupement, voir Apache 5.5 - Guide de référence.

group.limit
Spécifie le nombre maximal de résultats de recherche par groupe. La valeur par défaut est 100.
zone
Le nom de la zone à regrouper. Cette valeur doit être définie comme la dernière entrée de la configuration de groupe.
heroproduct Définit le comportement des produits du groupe représentatif au moment de l'exécution. Cette propriété s'applique lorsque le regroupement des résultats de recherche est activé.
overrideFieldName
Une liste de noms de zones Solr séparés par des virgules. Lorsqu'elles sont spécifiées, certaines propriétés de l'article le plus pertinent du groupe remplacent les propriétés productBean renvoyées. Par exemple, miniature ou nom. La valeur par défaut est miniature.
showGroupPriceRange
Lorsqu'il est défini sur true, le prix productBean renvoyé affiche une fourchette de prix basée sur les SKU sous-jacentes qui ont généré les résultats de recherche. La valeur par défaut est false.
QueryMissingGroupOwner
Récupère les propriétaires de groupe manquants de l'index. Il est exécuté dans un lot pour tous les groupes pour la taille de la page en cours. La valeur par défaut est true.
pertinence
joinFilterQuery
Indique si vous devez utiliser des options de filtre ou de stimulation.
false
Active la stimulation. Les produits de la catégorie qui contient la requête de recherche du client sont stimulés, suivis d'autres catégories. Il s'agit de la valeur par défaut.
true
Active le filtrage. Les produits de la catégorie qui contient la requête de recherche du client sont renvoyés. Aucun résultat n'a été renvoyé.
CatalogGroupSearchFields
keyword
Indique que la zone de l'index CatalogGroup est recherchée avec la requête de jointure par défaut. Vous pouvez ajouter d'autres zones indexées de CatalogGroup dans ce paramètre. Par défaut, la zone de mot clé de l'index CatalogGroup est recherchée pour trouver la catégorie qui contient éventuellement les produits recherchés. Vous pouvez ajouter d'autres zones indexées de CatalogGroup dans ce paramètre pour augmenter la portée de la recherche. Les zones possibles sont les suivantes : Les zones name, shortDescription, longDescription et keyword.
Vous pouvez remplacer les valeurs des paramètres par défaut dans le fichier wc-search.xml étendu.

<_config:profile name="IBM_findProductsBySearchTerm" indexName="CatalogEntry">
   <_config:join>
      <_config:param name="joinFilterQuery" value = "true" />
      <_config:param name="CatalogGroupSearchFields" value="keyword, name" />
   </_config:join>
</_config:profile>