Migrar la búsqueda basada en BOD de Feature Pack 6 IBM Websphere Commerce Version 7
Migre las configuraciones y el índice de HCL Commerce Search del Feature Pack 6 IBM Websphere Commerce Version 7 a HCL Commerce versión 9.0.0.3+.
HCL Commerce Version 9 utiliza Solr 5.5.4, de forma que los datos del índice de una versión anterior de Solr no son compatibles con Solr 5.5.4.
- La búsqueda basada en BOD es discontinua en HCL Commerce Version 9.
- El servidor de HCL Commerce Search tiene su propio contenedor en el entorno de producción. Despliegue el servidor de HCL Commerce Search como parte del conducto CI/CD.
- El modelo de programación para HCL Commerce Search ha cambiado para coincidir con la nueva compilación y el proceso de despliegue en HCL Commerce Version 9. La base del nuevo modelo de programación es separar elementos de HCL Commerce Search personalizados del código de producto, que reduce el coste de recursos de mantenimiento y funcionamiento. Las personalizaciones de IBM Websphere Commerce Version 7 siguientes se deben actualizar para el nuevo modelo de programación:
- El tiempo de ejecución de Solr se actualiza a 5.5.4, de modo que las personalizaciones en Solr se deben actualizar para seguir el nuevo modelo de programación.
- Los programas de utilidad de HCL Commerce Search se sustituyen por el servicio del programa de utilidad del contenedor, que incluye di-preprocess, di-buildindex, di-calculateprice y indexprop. El programa de utilidad SetupSearchIndex se deja de mantener. El directorio principal del índice se sincroniza automáticamente con la tabla SRCHCONF y la tabla SRCHCONFEXT cuando se ha iniciado el servidor HCL Commerce Search. Esto le permite crear un nuevo núcleo maestro, núcleo de extensión o lenguaje para mantener las tablas SRCHCONF y SRCHCONFEXT. El núcleo del espacio de trabajo se crea automáticamente si el servidor de HCL Commerce Search detecta el esquema del espacio de trabajo en un entorno de creación.
- En HCL Commerce Version 9, la vista de la tabla se utiliza para realizar el preproceso y la creación del índice; por consiguiente, las personalizaciones en la creación del preproceso y del índice se deben reconfigurar según la nueva guía de programación.
- En HCL Commerce Version 9, el planificador común basado en la fundación está habilitado en el servidor HCL Commerce Search. Los entornos de creación utilizan el planificador para replicar el índice de los entornos de creación al repetidor de HCL Commerce Search.
- HCL Commerce Version 9 se ha movido a JAX-RS 2.0(JSR-339). Además, la API de la documentación es Swagger 2.0.
- IBM Websphere Commerce Version 7 utilizaba llamadas JDBC directas, que atravesaban DSL (data service layer) a la base de datos. En HCL Commerce Version 9, se utiliza la consulta nativa JPA 2.1 (EclipseLink). Las consultas personalizadas de versiones anteriores se transfieren al nuevo servicio de consulta. No se requiere ninguna configuración adicional.
- En HCL Commerce Version 9, cuando el precio o el inventario funcionan como núcleos ampliados,
SolrJoinconserva la relación de documento entre el núcleo principal deCatalogEntryy el subnúcleo de precio e inventario.MultipleQueryComponentyMultipleFacetComponent, que se utilizaron para unir o filtrar los subnúcleos en IBM Websphere Commerce Version 7, ahora están inhabilitados de forma predeterminada. Para gestionar los campos de facetas y resultados de índices de extensión, un nuevoSearchCatalogEntryExtensionIndexPostprocessorrealiza una subconsulta en cada uno de los índices, a continuación se une con el índice principal. También se ha introducido un nuevo parámetro de unión en wc-search.xml. Es necesario implementar cualquier personalización de IBM Websphere Commerce Version 7 en un índice de extensión para utilizarSolrJoin.Nota: Si es necesario, puede restaurar la funcionalidad anterior deMultipleQueryComponentyMultipleFacetComponent.
Antes de empezar
- Descarte todas las tablas temporales y temporales personalizadas de su base de datos, excepto las siguientes tablas temporales:
TI_DELTA_CATENTRYTI_DELTA_CATGROUPTI_DELTA_INVENTORY
Sus tablas temporales usan un prefijo
TI_. Mientras que sus tablas temporales personalizadas usan un prefijoXI_.Los cambios realizados en las tablas temporales entre las versiones anteriores de HCL Commerce y HCL Commerce Version 9. Si no se logran descartar las tablas temporales pueden producirse errores de preproceso, por ejemplo, SQLSTAE=56098. Para obtener más información sobre las tablas de búsqueda temporales HCL Commerce, consulte definición de esquema de tabla temporal.
Procedimiento
- Migre los núcleos de índice personalizados. Los siguientes subpasos ilustran cómo migrar el núcleo ampliado
xCatalogEntrypara el catálogo maestro10001como ejemplo. Estos pasos deben repetirse para todos los núcleos de índice personalizados que desee migrar. - Vuelva a implementar los campos de índice personalizados y los scripts de preproceso y de creación de índice.
- Migre los archivos de configuración de búsqueda. Las actualizaciones de configuración que haya realizado en los directorios IBM Websphere Commerce Version 7 WC_eardir deben copiarse en los directorios de extensión correspondientes en el directorio Search_eardir en HCL Commerce Version 9. Los directorios de extensión son com.ibm.commerce.foundation-ext y com.ibm.commerce.search-ext.
- Registre los perfiles de búsqueda personalizados asociándolos a un servicio REST.
- Vuelva a aplicar todas las configuraciones personalizadas al archivo wc-search.xml.Notes:
- Suprima todas las configuraciones de conexión que pertenezcan a un servidor de Solr remoto. En el servidor de búsqueda de HCL Commerce Version 9, la conexión con Solr está incorporada.
- Puesto que los núcleos se leen ahora desde las tablas SRCHCONF y SRCHCONFEXT, elimine todos los núcleos registrados del archivo wc-search.xml.
- Los perfiles de búsqueda personalizados definidos en el servidor de HCL Commerce se deben volver a definir en el directorio de extensión de servidor de búsqueda de HCL Commerce.
- Se deben actualizar los perfiles de búsqueda personalizados que amplían un perfil de búsqueda predeterminado en el servidor de HCL Commerce. En el servidor de búsqueda, se han introducido perfiles de búsqueda predeterminados nuevos que contienen diferentes nombres o convenios de denominación.
- Se deben actualizar los perfiles de búsqueda personalizados que utilizan cualquiera de los proveedores de consulta de búsqueda, procesadores o filtros de resultados de búsqueda predeterminados. En el servidor de búsqueda se han introducido alternativas nuevas que contienen diferentes nombres o utilizan diferentes convenios de denominación.
- Vuelva a aplicar las configuraciones personalizadas que haya realizado en los archivos wc-component.xml en los directorios com.ibm.commerce.foundation-ext y com.ibm.commerce.search-ext.
La mayoría de las propiedades personalizadas relacionadas con la búsqueda que se definen en el archivo wc-component.xml se pueden volver a utilizar en el servidor de búsqueda, excepto la propiedad de modalidad de precio global. La configuración del modo de precio ahora se almacena en la tabla STORECONF. Para obtener más información sobre las propiedades de configuración de búsqueda en la tabla STORECONF, consulte Propiedades de configuración de búsqueda en la tabla STORECONF.
- Migre los mediadores de objetos personalizados que haya realizado en el archivo IBM Websphere Commerce Version 7 wc-business-objectmediator.xml a HCL Commerce Version 9 wc-component.xml.
El servidor de búsqueda no soporta los mediadores de objetos de negocio. Por lo tanto, las personalizaciones que haya aplicado al archivo wc-business-object-mediator.xml deben trasladarse al archivo wc-component.xml.
Por ejemplo, las correlaciones entre un campo personalizado
userDatacon un campo de índice interno o campo de base de datos debe utilizar ahora las correlaciones correctas en el archivo wc-component.xml. El ejemplo siguiente muestra cómo una correlaciónuserDataexistente en el archivo wc-business-object-mediator.xml del servidor de HCL Commerce se puede mover al archivo wc-component.xml personalizado del servidor de búsqueda. - Vuelva a aplicar los archivos (TPL) de plantilla de consulta de base de datos personalizada.
El servidor de búsqueda soporta DSL. Sin embargo, no soportan los EMF, SDO y los esquemas lógicos. Por lo tanto, los datos recuperados de la base de datos se deben analizar por código personalizado y añadir a la respuesta principal donde sea aplicable. Las consultas personalizadas relacionadas con la búsqueda se pueden volver a utilizar en el servidor de búsqueda. Para obtener más información, consulte Crear un postprocesador de consulta personalizado.
- El servidor de búsqueda no soporta ningún código de plantilla de consulta. Cada uno de los parámetros de consulta debe pasarse a los servicios de consulta como parámetros de consulta.
- Para permitir que la consulta personalizada se ejecute bajo el esquema del espacio de trabajo, añada
bull$SCHEMA$a la tabla. - Si la consulta personalizada tiene una sintaxis de consulta diferente para Oracle, defina un nombre de consulta nuevo. En el código, utilice un nombre de consulta diferente después de determinar
dbType, por ejemplo:<!-- ======================================================================================= --> <!-- 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_STATEMENTTodos los elementos personalizados que necesitan recuperar datos de la base de datos, deben utilizarSearchQueryServicepara leer datos, tal como se ve en el ejemplo de código siguiente: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); }
- Migre los elementos Java personalizados.
Debido al uso de contenedorización, todas las personalizaciones deben ser creadas por el script WCB e implementadas por su canalización CI/CD. De forma predeterminada, los activos de configuración personalizados se pueden agregar en el directorio search-config-ext y los activos de Java personalizados se pueden agregar en el directorio search-logic-ext. A continuación, la secuencia de comandos WCB predeterminada y la canalización CI/CD pueden crear e implementar esos activos en el contenedor de búsqueda.
- Migre servicios de búsqueda de escaparate.
En IBM Websphere Commerce Version 7, la navegación de catálogo utilizaba
getDataTag. En HCL Commerce Version 9, puede utilizarRESTTagequivalente basado en REST.Las páginas de escaparate personalizado que utilizan los servicios BODCatalogNavigationViewdeben actualizarse para utilizar los nuevos servicios REST correspondientes. Por ejemplo, el siguiente fragmento de código es un servicio de búsqueda de BODgetDataque se utiliza para obtener productos por categoría:<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}"/>El siguiente fragmento de código es el servicio basado en REST equivalente:<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}"/>Los datos de respuesta se formatean en una respuesta de notación de puntos parecida a BOD a fin de minimizar los cambios que son necesarios en el escaparate. En algunos casos, la respuesta se simplifica y se aplana en parejas de nombre-valor más simples, en lugar de utilizar correlaciones internas para agrupar determinados campos.
Puede examinar la respuesta JSON imprimiendo el objeto de respuesta utilizando el código siguiente:
<wcf:json object="${catalogNavigationView}"/> - Correlacione los servicios de BOD con los servicios de REST.
Todos los servicios de búsqueda de BOD pueden ser cubiertos por servicios de búsqueda REST. Hay tres manejadores de búsqueda principales:
CategoryViewHandler,ProductViewHandlerySiteContentHandler. Cada uno de ellos realiza una función de búsqueda diferente. Por ejemplo,ProductViewHandlerpuede buscar por Category, productId, ProductID, partNumber, partNumbers y searchTerm.Utilice la tabla siguiente para ayudar a correlacionar los servicios de BOD con los servicios de REST.Tabla para mostrar la correlación entre los servicios BOD y REST.
Servicio BOD Creador de expresiones Recurso REST Servicio REST CatalogNavigationView getCatalogNavigationView ProductViewHandler (Búsqueda) 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 (Búsqueda) 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 (Búsqueda) store/{storeId}/sitecontent/webContentsBySearchTerm/{searchTerm} store/{storeId}/sitecontent/brandSuggestions store/{storeId}/sitecontent/categorySuggestions - Importe EnvironmentSetup.jspf en la página donde ha utilizado para llamar al servicio de BOD para seguir la guía de programación JSP. En este archivo JSPF,
searchHostNameysearchContextPathse definen, de modo que en el JSP donde desea llamar a REST de búsqueda, esta variable puede utilizarse directamente. - Utilizando la correlación entre BOD con la búsqueda REST, busque el servicio REST equivalente y, a continuación, cambie
getDataTagaRESTtag. - Con la solicitud de BOD, la parte de la tienda podría utilizar el nombre
CatalogNavigationViewTypepara recuperar el objeto necesario de la respuesta de la solicitud de BOD; este nombre básicamente representa una respuesta de negocio de una solicitud de examinación de catálogo.
- Importe EnvironmentSetup.jspf en la página donde ha utilizado para llamar al servicio de BOD para seguir la guía de programación JSP. En este archivo JSPF,
- Correlacione los perfiles de búsqueda de BOD para los perfiles de búsqueda de REST. La tabla siguiente ilustra la correlación entre los perfiles de búsqueda que utilizan los servicios de
CatalogNavigationViewBODy los perfiles de búsqueda de REST correspondientes. Hay varios factores que diferencian los perfiles de búsqueda entre ellos. Al comparar los perfiles de búsqueda, tenga en cuenta los factores siguientes.- Campos de consulta
- Controla el ámbito de búsqueda.
- Campos de resultados
- Controla los campos devueltos.
- Proveedores de expresiones
- Contribuye al objeto de criterios de selección.
- Preprocesadores
- Prepara el objeto de expresión de búsqueda final.
- Postprocesadores
- Media la respuesta de búsqueda y contribuye al objeto de respuesta final.
Correlación entre perfiles de búsqueda de BOD y REST.
Perfil de búsqueda de BOD Perfil de búsqueda de REST IBM_ComposeProductListByCategoryIdIBM_findProductsByCategoryIBM_ComposeCategoryFacetListByCategoryIdEn desuso por IBM_findProductsByCategoryIBM_BreadCrumbIBM_BreadCrumbByCategoryUniqueIdIBM_findFacetsByCategoryEn desuso por IBM_findProductsByCategoryI BM_ComposeFacetListByCategoryIdIBM_ComposeFacetListByCategoryIdIBM_findCatalogEntryWithoutDescriptionByNameAndShortDescriptionIBM_findProductsBySearchTermIBM_findCatalogEntryWithoutDescriptionByNameAndShortDescriptionInDetailEn desuso por IBM_findProductsBySearchTermIBM_findCatalogGroupByFacetEn desuso por IBM_findProductsBySearchTermIBM_findCatalogEntryByNameIBM_findProductsByNameOnlyIBM_findCatalogEntryByUnstructureFieldIBM_findProductsByUnstructureOnlyIBM_findCatalogEntryByNameAndShortDescriptionOnlyIBM_findProductsByNameAndShortDescriptionOnlyIBM_findCatalogEntryByNameAndShortDescriptionEn desuso por IBM_findProductsByNameAndShortDescriptionOnlyIBM_findCatalogEntryByNameAndShortDescriptionInDetailEn desuso por IBM_findProductsByNameAndShortDescriptionOnlyIBM_findCatalogEntryIdByNameAndShortDescriptionEn desuso por IBM_findProductsByNameAndShortDescriptionOnlyIBM_findCatalogEntryDetailsIBM_findProductByIds_DetailsIBM_findCatalogEntryAllEn desuso por IBM_findProductByIds_DetailsIBM_findCatalogEntryAll_PriceModeEn desuso por IBM_findProductByIds_DetailsIBM_findCatalogEntrySKUsEn desuso por IBM_findProductByIds_DetailsIBM_findCatalogEntryDetailsWithComponentsEn desuso por IBM_findProductByIds_DetailsIBM_findCatalogEntryDetailsWithComponentsAndAttachmentsEn desuso por IBM_findProductByIds_DetailsIBM_findCatalogEntryDetailsWithMerchandisingAssocDetailsEn desuso por IBM_findProductByIds_DetailsIBM_findCatalogEntryDetails_PriceModeEn desuso por IBM_findProductByIds_DetailsIBM_findComponentsSummaryEn desuso por IBM_findProductByIds_DetailsIBM_findComponentsSummaryDetailsEn desuso por IBM_findProductByIds_DetailsIBM_findCatalogEntryDetailsWithMerchandisingAssocSummaryEn desuso por IBM_findProductByIds_DetailsIBM_fetchRelatedCatalogEntryDetailedInfoEn desuso por IBM_findProductByIds_DetailsIBM_findCatalogEntrySummaryIBM_findProductByIds_SummaryIBM_findCatalogEntryByIDEn desuso por IBM_findProductByIds_SummaryIBM_findCatalogEntryPriceEn desuso por IBM_findProductByIds_SummaryIBM_findCatalogEntryDynamicKitSummaryEn desuso por IBM_findProductByIds_SummaryIBM_fetchRelatedCatalogEntrySummaryInfoEn desuso por IBM_findProductByIds_SummaryIBM_CatalogEntryCategoryEntitlementEn desuso por IBM_findProductByIds_SummaryIBM_CatalogEntryEntitlementEn desuso por IBM_findProductByIds_SummaryIBM_findCatalogEntryPriceWithAttributes_PriceModeEn desuso por IBM_findProductByIds_SummaryIBM_findCatalogEntryAttachmentsIBM_findProductByIdsWithAttributesAndAttachmentsIBM_findCatalogEntryDetailsWithAttachmentsEn desuso por IBM_findProductByIdsWithAttributesAndAttachmentsIBM_findCatalogEntryPriceWithAttributesEn desuso por IBM_findProductByIdsWithAttributesAndAttachmentsIBM_findAttachmentByCatentryIdEn desuso por IBM_findProductByIdsWithAttributesAndAttachmentsIBM_findCatalogEntryParentInfoNoEntitlementCheckIBM_findProductByIds_Summary_WithNoEntitlementCheckIBM_findCatalogEntryForShoppingCartIBM_findProductByIds_Summary_WithNoEntitlementCheckIBM_findCatalogGroupSummaryIBM_findCategoryByUniqueIds, IBM_findCategoryByIdentifierIBM_findCatalogGroupDetailsIBM_findSubCategoriesIBM_Global_WebContentIBM_findWebContentsBySearchTermIBM_findAttachmentByContentEn desuso por IBM_findWebContentsBySearchTermIBM_findNavigationSuggestion_BrandsIBM_findNavigationSuggestion_BrandsIBM_findNavigationSuggestion_CategoriesIBM_findNavigationSuggestion_CategoriesIBM_GlobalNo hay ninguna coincidencia exacta para este perfil de búsqueda en el servidor de búsqueda de HCL Commerce Version 9. Tenga en cuenta los siguientes perfiles de búsqueda como sustituciones: IBM_findProductsByCategory(para navegación)IBM_findProductsBySearchTerm(para búsqueda de palabra clave)IBM_findProductByIds_Details(para página de visualización de producto)
IBM_Global_UnstructuredNo hay ninguna coincidencia exacta para este perfil de búsqueda en el servidor de búsqueda. Tenga en cuenta los siguientes perfiles de búsqueda como sustituciones: IBM_findWebContentsBySearchTerm(para contenido web)IBM_findProductsByUnstructureOnly(para buscar adjuntos de producto)
IBM_findNavigationSuggestionsNo hay ninguna coincidencia exacta para este perfil de búsqueda en el servidor de búsqueda. Tenga en cuenta los siguientes perfiles de búsqueda como sustituciones: IBM_findNavigationSuggestion_Categories(para sugerencias de categorías)IBM_findNavigationSuggestion_Brands(para sugerencias de marcas)
- Correlacione los proveedores de expresiones de BOD para proveedores de expresiones de REST haciendo referencia a la tabla siguiente.
Proveedor de expresión de búsqueda basada en BOD Proveedor de expresión de búsqueda basada en REST Descripción: SolrSearchBasedMerchandisingExpressionProviderSearchBasedMerchandisingExpressionProviderLlama al componente de marketing para ejecutar las reglas de búsqueda. SolrSearchByCatalogExpressionProviderSearchByCatalogExpressionProviderManeja la búsqueda por catálogo, teniendo en cuenta el catálogo de ventas en el contexto de negocio actual. SolrSearchByCategoryExpressionProviderSearchByCategoryExpressionProviderManeja la búsqueda por categoría, teniendo en cuenta el catálogo de ventas en el contexto de negocio actual. SolrSearchByCustomExpressionProviderSearchByCustomExpressionProviderIncluye expresiones personalizadas que están almacenadas en _wcf.search.expr.SolrSearchByFacetExpressionProviderSearchByFacetExpressionProviderManeja la búsqueda por solicitudes de faceta. SolrSearchByKeywordExpressionProviderSearchByKeywordExpressionProviderManeja la búsqueda por solicitudes de palabra clave. SolrSearchByKeywordRelevancyExpressionProviderSearchByKeywordRelevancyExpressionProviderManeja la búsqueda por solicitudes de palabra clave que utilizan el analizador de consultas dismax. SolrSearchByManufacturerExpressionProviderSearchByManufacturerExpressionProviderManeja la búsqueda por solicitudes de nombre de marca. SolrSearchByPriceExpressionProviderSearchByPriceExpressionProviderManeja la búsqueda por solicitudes de rango de precios generadas desde la página Búsqueda avanzada. SolrSearchByPublishedEntryOnlyExpressionProviderSearchByPublishedEntryOnlyExpressionProviderGenera condiciones para restringir los resultados de búsqueda solamente a las entradas publicadas. SolrSearchByStorePathExpressionProviderSearchByStorePathExpressionProviderGenera condiciones para manejar la vía de acceso de tienda. SolrSearchCategoryEntitlementExpressionProviderSearchCategoryEntitlementExpressionProviderRealiza la autorización de categoría. SolrSearchFacetConditionExpressionProviderSearchFacetConditionExpressionProviderGenera una lista de facetas relacionadas con atributos y facetas de rango de precios específicos de moneda para la solicitud de búsqueda actual. SolrSearchInventoryExpressionProviderSearchInventoryExpressionProviderManeja la búsqueda relacionada con el índice de inventario. SolrSearchProductEntitlementExpressionProviderSearchProductEntitlementExpressionProviderRealiza la autorización de producto. SolrSearchSequencingExpressionProviderSearchProductSequencingExpressionProviderOrganiza las entradas de productos en el resultado de búsqueda por rango. SolrSearchTermAssociationExpressionProviderSearchTermAssociationExpressionProviderObtiene sinónimos y sustituye el término de búsqueda para captar el resultado final. SolrSearchTypeExpressionProviderSearchTypeExpressionProviderManeja el tipo de coincidencia para solicitudes de búsqueda por palabra clave, como Cualquiera y Excluir SKU. SolrSearchWebContentStoreInfoExpressionProviderSearchWebContentStoreInfoExpressionProviderManeja la adición de condiciones para buscar contenido de sitio específico de tienda - Correlacione los posprocesadores de BOD para posprocesadores REST haciendo referencia a la tabla siguiente.
Preprocesador de búsqueda basada en BOD Preprocesador de búsqueda basada en REST SolrSearchResultGroupingQueryPreprocessorSearchResultGroupingQueryPreprocessor SolrSearchDebugQueryPreprocessorSearchDebugQueryPreprocessor SolrSearchEDismaxQueryPreProcessorSearchEDismaxQueryPreProcessor SolrSearchFacetQueryPreprocessor SearchFacetQueryPreprocessor SolrSearchHighlighterQueryPreprocessorSearchHighlighterQueryPreprocessor SolrSearchMainQueryPreprocessorSearchMainQueryPreprocessor SolrSearchPaginationQueryPreprocessorSearchPaginationQueryPreprocessor SolrSearchPreviewQueryPreprocessorSearchPreviewQueryPreprocessor SolrSearchResultFieldQueryPreprocessorSearchResultFieldQueryPreprocessor SolrSearchSortingQueryPreprocessorSearchSortingQueryPreprocessor SolrSearchSpellCorrectionQueryPreprocessorSearchSpellCorrectionQueryPreprocessorNota: Los siguientes son posprocesadores nuevos:SearchCustomQueryPreprocessorSearchJoinQueryPreprocessorSearchManualSequenceOverrideQueryPreprocessorSearchProductSequenceDebugInfoQueryPreprocessorSearchRelevancyByProductGroupingQueryPreprocessorSearchResponseFormatQueryPreprocessor
- Correlacione los posprocesadores y los filtros de resultados de búsqueda de BOD para posprocesadores y filtros de resultados de búsqueda de REST haciendo referencia a la tabla siguiente.
Filtro de resultados de búsqueda basados en BOD Posprocesador de búsqueda basada en REST SearchCatalogEntryMerchandisingAssocResultFilterSearchCatalogEntryViewMerchandisingAssocQueryPostprocessorSearchCatalogEntryViewAttachmentsResultFilterSearchCatalogEntryViewAttachmentsQueryPostprocessorSearchCatalogEntryViewAttributesAllowedValueResultFilterSearchCatalogEntryViewAttributesQueryPostprocessorSearchCatalogEntryViewAttributesResultFilterSearchCatalogEntryViewAttributesQueryPostprocessorSearchCatalogEntryViewDescriptionResultFilterSearchCatalogEntryViewDescriptionQueryPostprocessorSearchCatalogEntryViewPackageBundleResultFilterSearchCatalogEntryViewComponentsQueryPostprocessorSearchCatalogEntryViewPriceResultFilterSearchCatalogEntryViewPriceQueryPostprocessorSearchCatalogEntryViewSingleSKUResultFilterLa lógica que está en desuso mediante la indexación del campo childCatentry_id.SearchCatalogEntryViewSKUResultFilterSearchCatalogEntryViewSKUQueryPostprocessorSearchCatalogEntryViewStoreDisplayAttributesResultFilterSearchCatalogEntryViewAttributesQueryPostprocessorSearchCatalogGroupEntitlementResultFilterSearchCategoryEntitlementQueryPostprocessor,SearchChildCategoryEntitlementQueryPostprocessorSearchCatalogNavigationViewDynamicKitResultFilterSearchCatalogEntryViewDynamicKitQueryPostprocessorSearchCatalogNavigationViewPreviewResultFilterSearchPreviewQueryPostprocessorSearchCatalogNavigationViewSEOTitleMetaDataFilterEl servidor de búsqueda no devuelve metadatos SEO. Se devuelven metadatos del servidor de WebSphere Commerce. SearchNavigationSuggestionsResultFilterSearchCategorySuggestionQueryPostprocessor, SearchBrandSuggestionQueryPostprocessor - Vuelva a aplicar sus personalizaciones de Solr.
HCL Commerce Version 9utiliza Solr 5.5.4. Toda la personalización basada en las versiones anteriores de Solr debe implementarse en Solr 5.5.4.
- Migre los servicios de búsqueda personalizados.
- Migre la memoria caché de datos.
En HCL Commerce Version 9, la memoria caché de datos está habilitada en el servidor de búsqueda. Para obtener más información sobre la memoria caché de datos, consulte Habilitación del supervisor de memoria caché.
- Migre los trabajos planificados personalizados.En HCL Commerce Version 9, existe un planificador en el servidor de búsqueda. Puede utilizar la tabla siguiente para volver a crear los trabajos de búsqueda planificados.
- SRCH_SCHACTIVE
- SRCH_SCHBRDCST
- SRCH_SCHCONFIG
- SRCH_SCHERRLOG
- SRCH_SCHREPORT
- SRCH_SCHSTATUS