Migration de la recherche basée sur BOD IBM Websphere Commerce Version 7 Feature Pack 6
Faites migrer votre index et vos configurations HCL Commerce Search de IBM Websphere Commerce Version 7 Feature Pack 6 vers HCL Commerce version 9.0.0.3 ou ultérieure.
HCL Commerce Version 9 utilise Solr 5.5.4, donc vos données d'index issues d'une version antérieure de Solr ne sont pas prises en charge par Solr 5.5.4.
- La recherche basée sur BOD est obsolète dans HCL Commerce Version 9.
- Le serveur HCL Commerce Search comporte son propre conteneur dans votre environnement de production. Vous déployez votre serveur HCL Commerce Search dans le cadre de votre pipeline CI/CD.
- Le modèle de programmation pour HCL Commerce Search est modifié pour coïncider avec le nouveau processus de génération et de déploiement dans HCL Commerce Version 9. La base du nouveau modèle de programmation consiste à séparer les ressources HCL Commerce Search personnalisées et les paramètres de configuration du code produit, ce qui réduit les coûts de maintenance et de fonctionnement des ressources. Les personnalisations IBM Websphere Commerce Version 7 suivantes doivent être mises à jour pour le nouveau modèle de programmation :
- L'exécution de Solr est mise à niveau vers la version 5.5.4, de sorte que toute personnalisation de Solr doit être mise à jour pour suivre le nouveau modèle de programmation.
- Les utilitaires HCL Commerce Search sont remplacés par le service utilitaire de conteneur, qui inclut di-preprocess, di-buildindex, di-calculateprice et indexprop. L'utilitaire SetupSearchIndex n'est plus disponible. Le répertoire principal de l'index est maintenant automatiquement synchronisé avec la table SRCHCONF et la table SRCHCONFEXT lorsque le serveur HCL Commerce Search est démarré. Pour créer un nouveau répertoire principal, un répertoire principal d'extension ou un répertoire de langue, vous devez gérer les tables SRCHCONF et SRCHCONFEXT. Le répertoire principal de l'espace de travail est créé automatiquement si le serveur HCL Commerce Search détecte le schéma de l'espace de travail dans un environnement de création.
- Dans HCL Commerce Version 9, la vue tabulaire est utilisée pour le prétraitement et la génération d'index. Par conséquent, toute personnalisation du prétraitement et de la génération d'index doit être reconfigurée conformément au nouveau guide de programmation.
- Dans HCL Commerce Version 9, le planificateur commun basé sur les fondations est activé sur le serveur HCL Commerce Search. Dans les environnements de création, utilisez le planificateur pour répliquer les index des environnements de création vers le répéteur HCL Commerce Search.
- HCL Commerce Version 9 a été déplacé vers JAX-RS 2.0 (JSR-339). En outre, l'API de documentation est Swagger 2.0.
- IBM Websphere Commerce Version 7 utilisait les appels JDBC directs, qui passaient par DSL (couche de service de données) vers la base de données. Dans HCL Commerce Version 9, la requête native JPA 2.1 (EclipseLink) est utilisée. Les requêtes personnalisées des versions précédentes sont transférées vers le nouveau service de requête. Aucune configuration supplémentaire n'est requise.
- Dans HCL Commerce Version 9, lorsque Prix ou Stock est utilisé en tant que répertoire principal étendu,
SolrJoinpréserve la relation de document entre le répertoire principalCatalogEntryet le sous-répertoire Prix/Stock.MultipleQueryComponentetMultipleFacetComponent, qui ont été utilisés pour joindre ou filtrer les sous-répertoires dans IBM Websphere Commerce Version 7, sont désactivés par défaut. Pour gérer les zones de facettes et de résultats à partir des index d'extension, un nouveau processeurSearchCatalogEntryExtensionIndexPostprocessorcrée une sous-requête sur chacun des index d'extension, puis revient à l'index principal. Un nouveau paramètre de jointure a également été introduit dans wc-search.xml. Toute personnalisation IBM Websphere Commerce Version 7 vers un index d'extension doit être implémentée pour utiliserSolrJoin.Remarque : Si nécessaire, vous pouvez restaurer les fonctionnalités précédentes deMultipleQueryComponentetMultipleFacetComponent.
Avant de commencer
- Déposez toutes les tables temporaires temporaires et personnalisées de votre base de données, à l'exception des tables temporaires suivantes :
TI_DELTA_CATENTRYTI_DELTA_CATGROUPTI_DELTA_INVENTORY
Vos tables temporaires utilisent un préfixe
TI_alors que vos tables temporaires personnalisées utilisent un préfixeXI_.Des modifications ont été apportées aux tables temporaires entre les versions précédentes de HCL Commerce et HCL Commerce Version 9. L'échec de la suppression des tables temporaires peut entraîner des erreurs de prétraitement, par exemple, SQLSTAE=56098. Pour plus d'informations sur les tables temporaires de recherche HCL Commerce, voir Définition temporaire du schéma de table.
Procédure
- Faites migrer vos répertoires d'index personnalisés. Les sous-étapes suivantes illustrent comment migrer le répertoire étendu
xCatalogEntrypour le catalogue principal10001à titre d'exemple. Ces étapes doivent être répétées pour tous vos répertoires d'index personnalisés que vous souhaitez faire migrer. - Remettez en œuvre vos zones d'index personnalisés et vos scripts d'index de prétraitement et de génération.
- Faites migrer vos fichiers de configuration de recherche. Toutes les mises à jour de configuration que vous avez effectuées sous les répertoires IBM Websphere Commerce Version 7 WC_eardir doivent être copiées dans les répertoires d'extension correspondants sous le répertoire Search_eardir dans HCL Commerce Version 9. Les répertoires d'extension sont com.ibm.commerce.foundation-ext et com.ibm.commerce.search-ext.
- Enregistrez vos profils de recherche personnalisés en les associant à un service REST.
- Réappliquez toutes vos configurations personnalisées à votre fichier wc-search.xml.Notes :
- Supprimez toutes les configurations de connexion qui se rapportent à un serveur Solr distant. Dans le serveur de recherche HCL Commerce Version 9, la connexion à Solr est incorporée.
- Etant donné que vos bases sont maintenant lues à partir des tables SRCHCONF et SRCHCONFEXT, supprimez toutes les bases enregistrées de votre fichier wc-search.xml.
- Tous les profils de recherche personnalisés définis dans le serveur HCL Commerce doivent être redéfinis dans le répertoire d'extension du serveur de recherche HCL Commerce.
- Tous les profils de recherche personnalisés qui étendent un profil de recherche par défaut dans le serveur HCL Commerce doivent être mis à jour. De nouveaux profils de recherche par défaut sont introduits dans le serveur de recherche qui contient des noms ou des conventions de dénomination différents.
- Tous les profils de recherche personnalisés qui utilisent l'un des fournisseurs de requêtes de recherche, des processeurs ou des filtres de résultats de recherche par défaut doivent être mis à jour. De nouvelles alternatives sont introduites dans le serveur de recherche qui contient des noms différents ou utilisent différentes conventions de dénomination.
- Réappliquez toutes les configurations personnalisées que vous avez effectuées dans les fichiers wc-component.xml sous les répertoires com.ibm.commerce.foundation-ext et com.ibm.commerce.search-ext.
La plupart des propriétés personnalisées liées à la recherche définies dans le fichier wc-component.xml peuvent être réutilisées dans le serveur de recherche, à l'exception de la propriété du mode de tarification global. La configuration du mode de tarification est maintenant stockée dans la table STORECONF. Pour plus d'informations sur les propriétés de configuration de recherche dans la table STORECONF, voir Propriétés de configuration de recherche dans la table STORECONF.
- Faites migrer les médiateurs d'objets personnalisés que vous avez créés dans le fichier IBM Websphere Commerce Version 7 wc-business-objectmediator.xml vers HCL Commerce Version 9 wc-component.xml.
Le serveur de recherche ne prend plus en charge les médiateurs d'objets métier. Par conséquent, toutes les personnalisations appliquées au fichier wc-business-object-mediator.xml doivent être déplacées vers le fichier wc-component.xml.
Par exemple, les mappages entre un champ personnalisé
userDatavers une zone d'index interne ou une zone de base de données doivent maintenant utiliser les mappages corrects sous le fichier wc-component.xml. L'exemple suivant montre comment un mappageuserDataexistant sous le fichier de serveur wc-business-object-mediator.xml HCL Commerce peut être déplacé dans le fichier personnalisé du serveur de recherche wc-component.xml. - Réappliquez les fichiers de modèle de requête de base de données personnalisés (TPL).
Le serveur de recherche prend en charge DSL. Toutefois, il ne prend pas en charge les EMF, les SDO et les schémas logiques. Par conséquent, toutes les données récupérées à partir de la base de données doivent être analysées par un code personnalisé et ajoutées à la réponse principale, le cas échéant. Toutes les requêtes personnalisées liées à la recherche peuvent être réutilisées dans le serveur de recherche. Pour plus d'informations, voir Création d'un post-processeur de requête personnalisé.
- Le serveur de recherche ne prend en charge aucune balise de modèle de requête. Chacun des paramètres de requête doit être transmis aux services de requête en tant que paramètre de requête.
- Pour permettre à la requête personnalisée de s'exécuter sous le schéma de l'espace de travail, ajoutez
bull$SCHEMA$à la table. - Si la requête personnalisée présente une syntaxe de requête différente pour Oracle, définissez un nouveau nom de requête. Et dans le code, utilisez un autre nom de requête après avoir déterminé
dbType, par exemple :<!-- ======================================================================================= --> <!-- Retrieve search configuration for given master catalog by all store's default language --> <!-- ======================================================================================= --> ... BEGIN_SQL_STATEMENT name=SELECT_SRCHCONF_DEFAULT_ORACLE base_table=SRCHCONF sql= SELECT STORECAT.CATALOG_ID, STORE.LANGUAGE_ID, SRCHCONF.INDEXSCOPE, SRCHCONF.CONFIG FROM $SCHEMA$.STORECAT STORECAT, $SCHEMA$.STORE STORE, $SCHEMA$.SRCHCONF SRCHCONF WHERE STORECAT.MASTERCATALOG = '1' AND STORECAT.STOREENT_ID = STORE.STORE_ID AND STORE.STATUS IN (?status?, 1) AND TO_CHAR(STORECAT.CATALOG_ID) = SRCHCONF.INDEXSCOPE AND SRCHCONF.INDEXTYPE = ?indexType? END_SQL_STATEMENTToutes les ressources personnalisées qui doivent récupérer des données à partir de la base de données doivent utiliserSearchQueryServicepour lire les données, comme dans l'exemple de code suivant :SearchQueryService service = new SearchQueryService(); HashMap parameters = new HashMap(); ArrayList list = new ArrayList(); list.add(getMasterCatalog(coreName)); parameters.put(STR_MASTER_CATALOG_ID, list); list = new ArrayList(); list.add(tokens[1]); parameters.put(STR_INDEX_TYPE, list); list = new ArrayList(); list.add(getLanguageId(coreName)); parameters.put(LANGUAGE_ID, list); List<Object[]> results = service.executeQueryName("SELECT_SRCHCONFEXT", parameters); if (results.size() > 0) { indexSubtype = new ArrayList<String>(); final String STR_INDEXSUBTYPE = "INDEXSUBTYPE"; for (Object[] row : results) { indexSubtype.add((String) row[1]); } imapSearchIndexSubtype.put(coreName, indexSubtype); }
- Faites migrer vos ressources personnalisées Java.
En raison de l'utilisation de la conteneurisation, toutes les personnalisations doivent être générées par le script WCB et déployées par votre pipeline CI/CD. Par défaut, des ressources de configuration personnalisées peuvent être ajoutées sous le répertoire search-config-ext et des ressources java personnalisées peuvent être ajoutées sous le répertoire search-logic-ext. Ensuite, le script WCB par défaut et le pipeline CI/CD peuvent générer et déployer ces ressources dans le conteneur de recherche.
- Faites migrer vos services de recherche de vitrine.
Dans IBM Websphere Commerce Version 7, la navigation de catalogue utilisait
getDataTag. Dans HCL Commerce Version 9, vous pouvez utiliser l'équivalentRESTTagbasé sur REST.Toutes les pages de vitrine personnalisées qui utilisent les services BODCatalogNavigationViewdoivent être mises à jour pour utiliser les services REST correspondants. Par exemple, le fragment suivant est un service de recherche BODgetDatautilisé pour obtenir des produits par catégorie :<wcf:getData type="com.ibm.commerce.catalog.facade.datatypes.CatalogNavigationViewType" var="catalogNavigationView" expressionBuilder="getCatalogEntrySearchResultsByIDView" scope="request" varShowVerb="showCatalogNavigationView" maxItems="100" recordSetStartNumber="0" scope="request"> <c:forEach var="marketingSpotData" items="${marketingSpotDatas.baseMarketingSpotActivityData}"> <c:if test='${marketingSpotData.dataType eq "CatalogEntryId"}'> <wcf:param name="UniqueID" value="${marketingSpotData.uniqueID}"/> </c:if> </c:forEach> <wcf:contextData name="storeId" data="${WCParam.storeId}" /> <wcf:contextData name="catalogId" data="${WCParam.catalogId}" /> </wcf:getData> <c:set var="eSpotCatalogIdResults" value="${catalogNavigationView.catalogEntryView}"/>Le fragment suivant est le service basé sur REST équivalent :<wcf:getData type="com.ibm.commerce.catalog.facade.datatypes.CatalogNavigationViewType" var="catalogNavigationView" expressionBuilder="getCatalogEntrySearchResultsByIDView" scope="request" varShowVerb="showCatalogNavigationView" maxItems="100" recordSetStartNumber="0" scope="request"> <c:forEach var="marketingSpotData" items="${marketingSpotDatas.baseMarketingSpotActivityData}"> <c:if test='${marketingSpotData.dataType eq "CatalogEntryId"}'> <wcf:param name="UniqueID" value="${marketingSpotData.uniqueID}"/> </c:if> </c:forEach> <wcf:contextData name="storeId" data="${WCParam.storeId}" /> <wcf:contextData name="catalogId" data="${WCParam.catalogId}" /> </wcf:getData> <c:set var="eSpotCatalogIdResults" value="${catalogNavigationView.catalogEntryView}"/>Les données de réponse sont mises en forme dans une réponse de notation décimale semblable à BOD afin de minimiser les changements requis dans la vitrine. Dans certains cas, la réponse est simplifiée et mise à plat en paires de valeur de nom plus simples, plutôt que d'utiliser des cartes internes pour regrouper certaines zones.
Vous pouvez examiner la réponse JSON en imprimant l'objet de réponse à l'aide du code suivant :
<wcf:json object="${catalogNavigationView}"/> - Mappez vos services BOD aux services REST.
Tous les services de recherche BOD peuvent être couverts par les services de recherche REST. Il existe trois principaux gestionnaires de recherche :
CategoryViewHandler,ProductViewHandleretSiteContentHandler. Chacun exécute des fonctionnalités de recherche différentes. Par exemple,ProductViewHandlerpeut effectuer une recherche par catégorie, productId, productIds, partNumber, partNumbers et searchTerm.Utilisez le tableau suivant pour faciliter le mappage de vos services BOD aux services REST.Tableau permettant d'illustrer le mappage entre les services BOD et REST.
Service BOD Générateur d'expression Ressource REST Service REST CatalogNavigationView getCatalogNavigationView ProductViewHandler (recherche) store/{storeId}/productview/bySearchTerm/{searchTerm} getCatalogNavigationAttachmentView store/{storeId}/productview/bySearchTerm/{searchTerm} getCatalogNavigationViewByCategory store/{storeId}/productview/byCategory/{categoryId} getCatalogNavigationBreadCrumbView store/{storeId}/productview/byCategory/{categoryId} getCatalogNavigationCatalogEntryView store/{storeId}/productview/byId/{productId}, store/{storeId}/productview/byIds getCatalogEntryViewAllWithoutAttachmentsByID store/{storeId}/productview/byId/{productId}, store/{storeId}/productview/byIds getCatalogEntrySearchResultsByIDView store/{storeId}/productview/byId/{productId}, store/{storeId}/productview/byIds getCatalogEntryViewParentInfoByIDNoEntitlementCheck store/{storeId}/productview/byId/{productId}, store/{storeId}/productview/byIds getCatalogEntryViewForShoppingCart store/{storeId}/productview/byId/{productId}, store/{storeId}/productview/byIds getCatalogEntryViewPriceWithAttributesByID store/{storeId}/productview/byId/{productId}, store/{storeId}/productview/byIds getCatalogNavigationCatalogGroupView CategoryViewHandler (recherche) store/{storeId}/categoryview/byId/{categoryId}, store/{storeId}/categoryview/byIds getCatalogNavigationCatalogGroupViewByIdentifier store/{storeId}/categoryview/{categoryIdentifier} getCatalogNavigationCatalogGroupViewByCatalogId store/{storeId}/categoryview/@top getCatalogNavigationCatalogGroupViewByParentCatalogGroup store/{storeId}/categoryview/byParentCategory/{parentCategoryId} getWebContentView SiteContentHandler (recherche) store/{storeId}/sitecontent/webContentsBySearchTerm/{searchTerm} store/{storeId}/sitecontent/brandSuggestions store/{storeId}/sitecontent/categorySuggestions - Importez EnvironmentSetup.jspf dans la page où vous appeliez le service BOD pour suivre le guide de programmation JSP. Dans ce fichier JSPF,
searchHostName, lessearchContextPathsont définis, donc dans le JSP où vous souhaitez appeler le service REST de recherche, cette variable peut être utilisée directement. - En utilisant le mappage entre BOD et REST de recherche, recherchez le service REST équivalent, puis modifiez
getDataTagparRESTtag. - Avec la requête BOD, le côté magasin pourrait utiliser le nom
CatalogNavigationViewTypepour récupérer l'objet nécessaire à partir de la réponse de la requête BOD. Ce nom représente essentiellement une réponse métier d'une requête de navigation de catalogue.
- Importez EnvironmentSetup.jspf dans la page où vous appeliez le service BOD pour suivre le guide de programmation JSP. Dans ce fichier JSPF,
- Mappez vos profils de recherche BOD aux profils de recherche REST. Le tableau suivant illustre le mappage entre les profils de recherche utilisés par les services
CatalogNavigationViewBODet les profils de recherche REST correspondants. Plusieurs facteurs différencient les profils de recherche les uns des autres. Lorsque vous comparez les profils de recherche, prenez en compte les facteurs suivants.- Champs de requête
- Contrôle l'étendue de la recherche.
- Champs de résultats
- Contrôle les champs renvoyés.
- Fournisseurs d'expressions
- Contribue à l'objet de critères de sélection.
- Préprocesseurs
- Prépare l'objet d'expression de recherche finale.
- Postprocesseurs
- Assure la médiation de la réponse de recherche et contribue à l'objet de réponse finale.
Mappage entre les profils de recherche BOD et les profils de recherche REST.
Profil de recherche BOD Profil de recherche REST IBM_ComposeProductListByCategoryIdIBM_findProductsByCategoryIBM_ComposeCategoryFacetListByCategoryIdRendu obsolète par IBM_findProductsByCategoryIBM_BreadCrumbIBM_BreadCrumbByCategoryUniqueIdIBM_findFacetsByCategoryRendu obsolète par IBM_findProductsByCategoryI BM_ComposeFacetListByCategoryIdIBM_ComposeFacetListByCategoryIdIBM_findCatalogEntryWithoutDescriptionByNameAndShortDescriptionIBM_findProductsBySearchTermIBM_findCatalogEntryWithoutDescriptionByNameAndShortDescriptionInDetailRendu obsolète par IBM_findProductsBySearchTermIBM_findCatalogGroupByFacetRendu obsolète par IBM_findProductsBySearchTermIBM_findCatalogEntryByNameIBM_findProductsByNameOnlyIBM_findCatalogEntryByUnstructureFieldIBM_findProductsByUnstructureOnlyIBM_findCatalogEntryByNameAndShortDescriptionOnlyIBM_findProductsByNameAndShortDescriptionOnlyIBM_findCatalogEntryByNameAndShortDescriptionRendu obsolète par IBM_findProductsByNameAndShortDescriptionOnlyIBM_findCatalogEntryByNameAndShortDescriptionInDetailRendu obsolète par IBM_findProductsByNameAndShortDescriptionOnlyIBM_findCatalogEntryIdByNameAndShortDescriptionRendu obsolète par IBM_findProductsByNameAndShortDescriptionOnlyIBM_findCatalogEntryDetailsIBM_findProductByIds_DetailsIBM_findCatalogEntryAllRendu obsolète par IBM_findProductByIds_DetailsIBM_findCatalogEntryAll_PriceModeRendu obsolète par IBM_findProductByIds_DetailsIBM_findCatalogEntrySKUsRendu obsolète par IBM_findProductByIds_DetailsIBM_findCatalogEntryDetailsWithComponentsRendu obsolète par IBM_findProductByIds_DetailsIBM_findCatalogEntryDetailsWithComponentsAndAttachmentsRendu obsolète par IBM_findProductByIds_DetailsIBM_findCatalogEntryDetailsWithMerchandisingAssocDetailsRendu obsolète par IBM_findProductByIds_DetailsIBM_findCatalogEntryDetails_PriceModeRendu obsolète par IBM_findProductByIds_DetailsIBM_findComponentsSummaryRendu obsolète par IBM_findProductByIds_DetailsIBM_findComponentsSummaryDetailsRendu obsolète par IBM_findProductByIds_DetailsIBM_findCatalogEntryDetailsWithMerchandisingAssocSummaryRendu obsolète par IBM_findProductByIds_DetailsIBM_fetchRelatedCatalogEntryDetailedInfoRendu obsolète par IBM_findProductByIds_DetailsIBM_findCatalogEntrySummaryIBM_findProductByIds_SummaryIBM_findCatalogEntryByIDRendu obsolète par IBM_findProductByIds_SummaryIBM_findCatalogEntryPriceRendu obsolète par IBM_findProductByIds_SummaryIBM_findCatalogEntryDynamicKitSummaryRendu obsolète par IBM_findProductByIds_SummaryIBM_fetchRelatedCatalogEntrySummaryInfoRendu obsolète par IBM_findProductByIds_SummaryIBM_CatalogEntryCategoryEntitlementRendu obsolète par IBM_findProductByIds_SummaryIBM_CatalogEntryEntitlementRendu obsolète par IBM_findProductByIds_SummaryIBM_findCatalogEntryPriceWithAttributes_PriceModeRendu obsolète par IBM_findProductByIds_SummaryIBM_findCatalogEntryAttachmentsIBM_findProductByIdsWithAttributesAndAttachmentsIBM_findCatalogEntryDetailsWithAttachmentsRendu obsolète par IBM_findProductByIdsWithAttributesAndAttachmentsIBM_findCatalogEntryPriceWithAttributesRendu obsolète par IBM_findProductByIdsWithAttributesAndAttachmentsIBM_findAttachmentByCatentryIdRendu obsolète par IBM_findProductByIdsWithAttributesAndAttachmentsIBM_findCatalogEntryParentInfoNoEntitlementCheckIBM_findProductByIds_Summary_WithNoEntitlementCheckIBM_findCatalogEntryForShoppingCartIBM_findProductByIds_Summary_WithNoEntitlementCheckIBM_findCatalogGroupSummaryIBM_findCategoryByUniqueIds, IBM_findCategoryByIdentifierIBM_findCatalogGroupDetailsIBM_findSubCategoriesIBM_Global_WebContentIBM_findWebContentsBySearchTermIBM_findAttachmentByContentRendu obsolète par IBM_findWebContentsBySearchTermIBM_findNavigationSuggestion_BrandsIBM_findNavigationSuggestion_BrandsIBM_findNavigationSuggestion_CategoriesIBM_findNavigationSuggestion_CategoriesIBM_GlobalIl n'y a pas de correspondance exacte pour ce profil de recherche sur le serveur de recherche HCL Commerce Version 9. Envisagez de le remplacer par les profils de recherche suivants : IBM_findProductsByCategory(pour la navigation)IBM_findProductsBySearchTerm(pour la recherche par mot clé)IBM_findProductByIds_Details(pour la page d'affichage de produit)
IBM_Global_UnstructuredIl n'y a pas de correspondance exacte pour ce profil de recherche sur le serveur de recherche. Envisagez de le remplacer par les profils de recherche suivants : IBM_findWebContentsBySearchTerm(pour le contenu Web)IBM_findProductsByUnstructureOnly(pour la recherche de pièces jointes à un produit)
IBM_findNavigationSuggestionsIl n'y a pas de correspondance exacte pour ce profil de recherche sur le serveur de recherche. Envisagez de le remplacer par les profils de recherche suivants : IBM_findNavigationSuggestion_Categories(pour les suggestions de catégorie)IBM_findNavigationSuggestion_Brands(pour les suggestions de marque)
- Mappez vos fournisseurs d'expression BOD aux fournisseurs d'expression REST en faisant référence au tableau suivant.
Fournisseur d'expressionr de recherche basé sur BOD Fournisseur d'expressions de recherche basé sur REST Description SolrSearchBasedMerchandisingExpressionProviderSearchBasedMerchandisingExpressionProviderAppelle le composant marketing pour exécuter les règles de recherche. SolrSearchByCatalogExpressionProviderSearchByCatalogExpressionProviderGère la recherche par catalogue en tenant compte du catalogue de vente dans le contexte métier actuel. SolrSearchByCategoryExpressionProviderSearchByCategoryExpressionProviderGère la recherche par catégorie en tenant compte du catalogue de vente dans le contexte métier actuel. SolrSearchByCustomExpressionProviderSearchByCustomExpressionProviderInclut les expressions personnalisées stockées dans _wcf.search.expr.SolrSearchByFacetExpressionProviderSearchByFacetExpressionProviderGère la recherche par requêtes de facettes. SolrSearchByKeywordExpressionProviderSearchByKeywordExpressionProviderGère la recherche par requêtes de mots clés. SolrSearchByKeywordRelevancyExpressionProviderSearchByKeywordRelevancyExpressionProviderGère la recherche par des requêtes de mots clés qui utilisent l'analyseur de requête dismax. SolrSearchByManufacturerExpressionProviderSearchByManufacturerExpressionProviderGère la recherche par requête de nom de marque. SolrSearchByPriceExpressionProviderSearchByPriceExpressionProviderGère la recherche par les requêtes de plage de prix générées à partir de la page Recherche avancée. SolrSearchByPublishedEntryOnlyExpressionProviderSearchByPublishedEntryOnlyExpressionProviderGénère des conditions pour limiter les résultats de recherche aux seules entrées publiées. SolrSearchByStorePathExpressionProviderSearchByStorePathExpressionProviderGénère des conditions pour gérer le chemin d'accès du magasin. SolrSearchCategoryEntitlementExpressionProviderSearchCategoryEntitlementExpressionProviderEffectue l'autorisation de catégorie. SolrSearchFacetConditionExpressionProviderSearchFacetConditionExpressionProviderGé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. SolrSearchInventoryExpressionProviderSearchInventoryExpressionProviderGère la recherche liée à l'index de stock. SolrSearchProductEntitlementExpressionProviderSearchProductEntitlementExpressionProviderEffectue l'autorisation de produit. SolrSearchSequencingExpressionProviderSearchProductSequencingExpressionProviderOrganise les entrées de produit dans le résultat de recherche par classement. SolrSearchTermAssociationExpressionProviderSearchTermAssociationExpressionProviderTrouve des synonymes et remplace le terme de recherche pour récupérer le résultat final. SolrSearchTypeExpressionProviderSearchTypeExpressionProviderGère le type de correspondance pour les requêtes de recherche de mots clés, telles que Any et Exclude SKU. SolrSearchWebContentStoreInfoExpressionProviderSearchWebContentStoreInfoExpressionProviderGère l'ajout de conditions au contenu du site spécifique au magasin de recherche. - Mappez vos post-processeurs BOD aux post-processeurs REST en faisant référence au tableau suivant.
Préprocesseur de recherche basé sur BOD Préprocesseur de recherche basé sur REST SolrSearchResultGroupingQueryPreprocessorSearchResultGroupingQueryPreprocessor SolrSearchDebugQueryPreprocessorSearchDebugQueryPreprocessor SolrSearchEDismaxQueryPreProcessorSearchEDismaxQueryPreProcessor SolrSearchFacetQueryPreprocessor SearchFacetQueryPreprocessor SolrSearchHighlighterQueryPreprocessorSearchHighlighterQueryPreprocessor SolrSearchMainQueryPreprocessorSearchMainQueryPreprocessor SolrSearchPaginationQueryPreprocessorSearchPaginationQueryPreprocessor SolrSearchPreviewQueryPreprocessorSearchPreviewQueryPreprocessor SolrSearchResultFieldQueryPreprocessorSearchResultFieldQueryPreprocessor SolrSearchSortingQueryPreprocessorSearchSortingQueryPreprocessor SolrSearchSpellCorrectionQueryPreprocessorSearchSpellCorrectionQueryPreprocessorRemarque : Voici de nouveaux post-processeurs :SearchCustomQueryPreprocessorSearchJoinQueryPreprocessorSearchManualSequenceOverrideQueryPreprocessorSearchProductSequenceDebugInfoQueryPreprocessorSearchRelevancyByProductGroupingQueryPreprocessorSearchResponseFormatQueryPreprocessor
- Mappez vos filtres de résultats et post-processeurs de recherche BOD aux les filtres de résultats et post-processeurs de recherche REST vous référant au tableau suivant.
Filtre de résultats de recherche basé sur BOD Post-processeur de recherche basé sur REST SearchCatalogEntryMerchandisingAssocResultFilterSearchCatalogEntryViewMerchandisingAssocQueryPostprocessorSearchCatalogEntryViewAttachmentsResultFilterSearchCatalogEntryViewAttachmentsQueryPostprocessorSearchCatalogEntryViewAttributesAllowedValueResultFilterSearchCatalogEntryViewAttributesQueryPostprocessorSearchCatalogEntryViewAttributesResultFilterSearchCatalogEntryViewAttributesQueryPostprocessorSearchCatalogEntryViewDescriptionResultFilterSearchCatalogEntryViewDescriptionQueryPostprocessorSearchCatalogEntryViewPackageBundleResultFilterSearchCatalogEntryViewComponentsQueryPostprocessorSearchCatalogEntryViewPriceResultFilterSearchCatalogEntryViewPriceQueryPostprocessorSearchCatalogEntryViewSingleSKUResultFilterLogique rendue obsolète par l'indexation de la zone childCatentry_id.SearchCatalogEntryViewSKUResultFilterSearchCatalogEntryViewSKUQueryPostprocessorSearchCatalogEntryViewStoreDisplayAttributesResultFilterSearchCatalogEntryViewAttributesQueryPostprocessorSearchCatalogGroupEntitlementResultFilterSearchCategoryEntitlementQueryPostprocessor,SearchChildCategoryEntitlementQueryPostprocessorSearchCatalogNavigationViewDynamicKitResultFilterSearchCatalogEntryViewDynamicKitQueryPostprocessorSearchCatalogNavigationViewPreviewResultFilterSearchPreviewQueryPostprocessorSearchCatalogNavigationViewSEOTitleMetaDataFilterLe serveur de recherche ne renvoie pas les métadonnées de SEO. Les métadonnées sont renvoyées par le serveur WebSphere Commerce. SearchNavigationSuggestionsResultFilterSearchCategorySuggestionQueryPostprocessor, SearchBrandSuggestionQueryPostprocessor - Réappliquez vos personnalisations Solr.
HCL Commerce Version 9 utilise Solr 5.5.4. Toutes les personnalisations basées sur les versions précédentes de Solr doivent être mises en œuvre sur Solr 5.5.4.
- Faites migrer tous les services de recherche personnalisés.
- Faites migrer votre cache de données.
Dans HCL Commerce Version 9, le cache de données est activé sur le serveur de recherche. Pour plus d'informations sur le cache de données, voir Activation de la surveillance du cache.
- Faites migrer vos tâches planifiées personnalisées.Dans HCL Commerce Version 9, un planificateur existe sur le serveur de recherche. Vous pouvez utiliser le tableau suivant pour recréer vos tâches de recherche planifiées.
- SRCH_SCHACTIVE
- SRCH_SCHBRDCST
- SRCH_SCHCONFIG
- SRCH_SCHERRLOG
- SRCH_SCHREPORT
- SRCH_SCHSTATUS