Propriétés des profils de recherche
Les profils de recherche sont définis au format .json. Vous pouvez configurer les propriétés afin de personnaliser le comportement de recherche, à l'aide d'un ensemble de fournisseurs définis et de préprocesseurs et postprocesseurs.
Structure des profils de recherche
Chaque document de profil est au format .json et possède la structure ci-dessous. (Cet exemple montre la fonctionnalité de surlignage d'Elasticsearch ; pour plus d'informations sur cette fonctionnalité, voir Surligneurs dans le guide Elasticsearch.)
{ "indexName": "string", "parentProfileName": "string", "profileName": "string", "query": { "highlight": { "fields": [ "name", "fieldName" ], "simplePre": "<strong><span class=font2>", "simplePost": "</span></strong>" }, "params": [ { "paramName": "value" } ], "postprocessor": [ "postprocessorClass" ], "preprocessor": [ "preprocessorClass" ], "provider": [ "providerClass" ], "queryFields": [ "field1", "filed2" ], "responseFields": [ "field1", "filed2" ], "sortFields": { "key": "value" }, "spellcheck": { "limit": "5" }, "group" : { "enable" : "false", "sort" : "score desc", "field" : "relationship.product.group" }, "hero" : { "overrideFieldName" : "url.thumbnail", "showGroupPriceRange" : "false", "field" : { "7741124012283334335" : "Hero" } } } }Propriétés du profil
Le tableau suivant résume les propriétés configurables des profils.
| Propriété de profil de recherche | Sous-propriété | Description |
|---|---|---|
| indexName | Ce champ contient le nom de l'index Elasticsearch pour lequel le profil générera et exécutera des requêtes élastiques. Cette zone est obligatoire. Par exemple : auth.price ou live.inventory. |
|
| parentProfileName | Cette propriété est utilisée pour hériter d'un profil existant. C'est un paramètre non obligatoire. | |
| profileName | Nom d'un fichier contenant des attributs de performances configurables, ainsi qu'une ou plusieurs définitions d'éléments de chargement. | |
| query | 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. | |
| highlight | 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. | |
| queryFields | Cette propriété définit la portée de la recherche (par exemple, les champs de recherche Elasticsearch uniquement) pour la requête Elasticsearch en cours de formation. | |
| sortFields | Sert à définir les options de tri pour les requêtes Elasticsearch. La clé de chaque champ correspond à l'index_field_name. Ces clés peuvent être envoyées directement depuis la vitrine en vue d'être utilisées dans la définition du tri. |
|
| preprocessor | Voir Préprocesseurs. | |
| postprocessor | Voir Postprocesseurs. | |
| providers | Voir Fournisseurs disponibles. | |
| responseFields | Même chose que Solr | |
| spellcheck | Définit le comportement de vérification orthographique au moment de l'exécution. Elle contient le paramètre suivant :
|
|
| groupe | Définit le comportement de regroupement des résultats de recherche au moment de l'exécution.
|
|
| Hero | 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é.
|
Fournisseurs disponibles
| Providers | Description |
|---|---|
| SearchBasedMerchandisingExpressionProvider | Appelle le composant marketing pour exécuter les 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. |
| SearchByCategoryExpressionProvider | Gère la recherche par catégorie et prend en compte du catalogue de vente dans le contexte métier actuel. |
| SearchByManufacturerExpressionProvider | Gère la recherche par requête de marque. L'expression résultante est ajoutée de nouveau à l'objet SelectionCriteria (_wcf.search.internal.meta) et doit être codée ultérieurement dans la chaîne de méta-informations. |
| 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 résultante est ajoutée de nouveau à l'objet SelectionCriteria (_wcf.search.internal.meta) et doit être codé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 une expression Elasticsearch. L'expression résultante est ajoutée de nouveau à l'objet SelectionCriteria (_wcf.search.internal.meta) et doit être codée ultérieurement dans la chaîne de méta-informations. |
| SearchByStorePathExpressionProvider, SearchByStorePathAssetStoreExpressionProvider | Génère des conditions pour gérer le chemin d'accès du magasin. L'expression résultante est ajoutée à nouveau dans l'objet SelectionCriteria (_wcf.search.internal.filterquery) en vue d'autres traitements en aval. |
| SearchByPublishedEntryOnlyExpressionProvider | Limite les résultats de recherche aux entrées publiées. L'expression résultante est ajoutée à nouveau dans l'objet SelectionCriteria (_wcf.search.internal.filterquery) en vue 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. |
| 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 un critère de recherche :
|
| 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 résultante est ajoutée à nouveau dans l'objet SelectionCriteria (_wcf.search.internal.filterquery) en vue 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 résultante est ajoutée à nouveau dans l'objet SelectionCriteria (_wcf.search.internal.filterquery) en vue 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. |
| SearchByCatalogExpressionProvider | Ce fournisseur est utilisé pour la gestion du contexte du catalogue. L'expression ES résultante est ajoutée à nouveau dans l'objet searchCriteria en vue d'autres traitements en aval à l'aide du paramètre de contrôle _wcf.search.internal.filterquery. |
| SearchByLanguageExpressionProvider | Gère la recherche en fonction de la langue. L'expression ES résultante est ajoutée à nouveau dans l'objet SelectionCriteria (_wcf.search.internal.filterquery) en vue d'autres traitements en aval. |
| SearchByRankingQueryProvider | Ce fournisseur est utilisé pour gérer la recherche basée sur le classement. L'expression ES résultante sera ajoutée à nouveau dans l'objet searchCriteria en vue d'autres traitements en aval à l'aide des paramètres de contrôle _wcf.search.internal.filterquery et _wcf.search.rule.add. |
| SearchBySellerExpressionProvider | Ce fournisseur est utilisé pour gérer la requête de recherche par nom de vendeur. L'expression résultante sera ajoutée à nouveau dans l'objet searchCriteria en vue d'autres traitements en aval à l'aide du paramètre de contrôle _wcf.search.internal.meta. |
| SearchChildCategoryExpressionProvider | Il s'agit de l'implémentation du fournisseur d'expression de recherche qui sert à gérer la requête de recherche par catégorie parente. L'expression ES résultante sera ajoutée à nouveau dans l'objet searchCriteria en vue d'autres traitements en aval à l'aide du paramètre de contrôle _wcf.search.internal.filterquery. |
| SearchMultiwordFilterProviderHelper | Convertissez l'espace multi-mots avec NNNN et ajoutez à nouveau le terme de recherche résultant au paramètre _wcf.search.term en vue d'un traitement ultérieur. |
| SearchNavigationExpressionProvider | Ce fournisseur appelle le service marketing RESTful pour exécuter des règles de navigation par catégorie. Notez qu'il n'est possible d'utiliser des règles de navigation qu'avec les cibles et actions suivantes : - Cible « Page actuelle » (comportement « Le client consulte une catégorie » uniquement) - Cible « Segment client » (pour les segments client explicites uniquement) - Action « Modifier l'ordre des résultats de recherche ». Toutes les autres cibles et actions ne sont pas prises en charge. |
| SearchWorkspaceExpressionProvider | Gère la recherche par espace de travail. L'expression ES résultante est ajoutée à nouveau dans l'objet SelectionCriteria (_wcf.search.internal.filterquery) en vue d'autres traitements en aval. |
Préprocesseurs
| Preprocessor | Description |
|---|---|
| SearchRelevancyByProductGroupingQueryPreprocessor | Lorsque le regroupement ou la navigation de recherche de héros est activé, ce préprocesseur inclut l'agrégation et le regroupement dans le générateur de requêtes de recherche élastique. |
Postprocesseurs
| Postprocessor | Description |
|---|---|
| SearchCatalogEntryViewAttachmentsQueryPostprocessor | Reformate la réponse 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.json sous la section XPathToAttachmentsBODResponseFieldNameMapping. Ce postprocesseur effectue une sous-requête de recherche pour récupérer les ressources associées à l'entrée de catalogue. Il utilise le profil de recherche IBM_findCatalogEntryAssociatedAssets. |
| SearchCatalogEntryViewAttributesQueryPostprocessor | Reformate la réponse 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.json sous les sections XPathToAttributesBODResponseFieldNameMapping et XPathToAttributesValuesBODResponseFieldNameMapping. |
| SearchCatalogEntryViewComponentsQueryPostprocessor | Reformate la réponse 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.json 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 | Reformate la réponse 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.json 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. |
| SearchFacetQueryPostprocessor | Attache la réponse liée aux facettes aux données. |
| SearchChildCategoryEntitlementQueryPostprocessor | Supprime unentitled child catgroupId de la DocumentList dans la réponse. |
| SearchCategoryEntitlementQueryPostprocessor | Supprime le document de catégorie spécifié de la DocumentList dans la réponse. |
| SearchBreadCrumbTrailQueryPostprocessor | Générez le chemin de navigation. |
| SearchEntitlementQueryPostprocessor | Placez les informations catgroup_id_search sur les facettes dans SearchResponse. |
| SearchSpellCheckSuggestionQueryPostprocessor | Reformate les commentaires de correction orthographique 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. |
| SearchBrowseRelevancyByProductGroupingPostprocessor | Sélectionne un document Elasticsearch dans chaque groupe et effectue un deuxième appel pour rechercher le produit du propriétaire du groupe et crée des occurrences de recherche qui seront utilisées par d'autres postprocesseurs. Ensuite, le résultat est renvoyé dans la réponse finale REST. |
| SearchCatalogEntrySuggestionQueryPostprocessor | Reformate la réponse ES en un objet structuré à partir de catalogEntryView et renseigne la partie suggestionView de la réponse. La configuration de mappage est définie dans le fichier wc-component.json sous la section XPathToCategoryViewBODResponseFieldNameMapping. |
| SearchCatalogEntryViewImagesQueryPostProcessor | Un postprocesseur de requête de recherche pour la gestion de tous les champs liés aux images. |
| SearchCatalogEntryViewPriceQueryPostprocessor | Reformate la réponse 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.json sous la section XPathToPriceBODResponseFieldNameMapping. |
| SearchCatalogEntryViewUserDataQueryPostprocessor | Un postprocesseur de requête de recherche permettant d'ajouter des champs personnalisés dans la réponse. |
| SearchCatalogEntryViewUserDataQueryPostprocessor | Un postprocesseur de requête de recherche permettant d'ajouter des champs personnalisés dans la réponse. |
| SearchRankingQueryPostProcessor | Réordonne la réponse ES en fonction des détails du classement et l'inclut également dans le champ « classements » des métadonnées de réponse. |
| SearchKeywordSuggestionQueryPostprocessor | Un postprocesseur de requêtes de recherche permettant de gérer les suggestions de mots clés. |
| SearchSellerSuggestionQueryPostprocessor | Un postprocesseur de requêtes de recherche permettant de gérer les suggestions de vendeurs. |
| SearchV2ContentPageQueryPostProcessor | Un postprocesseur de requêtes de recherche permettant d'ajouter une section de présentation pour les pages de contenu dans la réponse du service URL. |
|
V2UrlAssetStorePostProcessor V2UrlPostProcessor |
Une réponse de l'API d'URL v2 de restructuration du postprocesseur de requêtes de recherche. |
| SearchV2UrlUserDataQueryPostProcessor | Un postprocesseur de requête de recherche permettant d'ajouter des champs personnalisés dans la réponse. |