
Enabling interim fixes JR48505 and JR43778
Interim fixes JR48505 and JR43778 introduce the ability to enable deep search
sequencing in Feature Pack 5.For more information about deep search
sequencing, see Unpublishing and sequencing in WebSphere Commerce search. To enable this feature
in Feature Pack 5, complete the following procedure.
Before you begin
For information about
how to install an interim fix, see
Procedure
-
Add the following new index field to the
solrhome/MC_catalogId/en_US/CatalogEntry/conf/schema.xml
file:
<!-- Catentry's full navigation path: map to table CATGPENREL --> <field name="parentCatgroup_id_path" type="wc_keywordText" indexed="true" stored="true" multiValued="true"/>
-
Open the catalog component configuration files on both the WebSphere Commerce and Search EARs
for editing.
The catalog component configuration file is stored in the following location on the WebSphere Commerce EAR:
- WC_eardir/xml/config/com.ibm.commerce.catalog-fep/wc-component.xml
- The default catalog component configuration file.
- WC_eardir/xml/config/com.ibm.commerce.catalog-ext/wc-component.xml
- The extended catalog component configuration file. This customized version of the file contains only the changed properties.
The catalog component configuration file is stored in the following location on the Search EAR:For more information about the values within the file, see Search properties in the component configuration file (wc-component.xml) (WebSphere Commerce EAR)- Search_eardir/xml/config/com.ibm.commerce.catalog/wc-component.xml
- The default catalog component configuration file for the search application.
- Search_eardir/xml/config/com.ibm.commerce.catalog-ext/wc-component.xml
- The extended catalog component configuration file for the search application.
-
Add the newly added index column to the wc-component.xml file rank
template to enable the new feature:
For more information about editing the wc-component.xml file, see Changing properties in the component configuration file (wc-component.xml) (WC EAR).<!-- Search rule --> <!-- Formula for boosting by product/category sequence: -0.001 x rank --> <_config:property name="BoostByRankInCatalogAndCategory" value="product(-0.001,getSequenceByCatalogAndCategory(sequence,parentCatgroup_id_path,%s,%s))" />
- Go to the Search_home/pre-processConfig/MC_catalogId/database directory and open the wc-dataimport-preprocess-parent-catgroup.xml file.
-
On the search indexer, insert the snippet in bold into the
wc-dataimport-preprocess-parent-catgroup.xml preprocessor configuration
file:
<_config:DIHPreProcessConfig xmlns:_config="http://www.ibm.com/xmlns/prod/commerce/foundation/config" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.ibm.com/xmlns/prod/commerce/foundation/config ../../xsd/wc-dataimport-preprocess.xsd "> <_config:data-processing-config processor="com.ibm.commerce.foundation.dataimport.preprocess.CatalogHierarchyDataPreProcesor" masterCatalogId="#MASTER_CATALOG_ID#" batchSize="10000"> <_config:table definition="CREATE TABLE TI_APGROUP_#INDEX_SCOPE_TAG# (CATENTRY_ID BIGINT NOT NULL, CATGROUPS VARCHAR (3000), CATPATHS VARCHAR(7000), PRIMARY KEY (CATENTRY_ID))" name="TI_APGROUP_#INDEX_SCOPE_TAG#"/> <_config: query sql=""/> <_config:mapping> <_config:key queryColumn="CATENTRY_ID" tableColumn="CATENTRY_ID"/>
- Go to the solrhome/MC_catalogId/en_US/CatalogEntry/conf directory and open the wc-data-config.xml file.
-
Update the wc-data-config.xml file with the following snippets in
bold:
<dataSource name="WC database" type="JdbcDataSource" transactionIsolation="TRANSACTION_READ_COMMITTED" holdability="CLOSE_CURSORS_AT_COMMIT" /> <dataSource name="unstructuretmpfile" type="FileDataSource" <!-- Product start --> STORECENT.STOREENT_ID, TI_APGROUP.CATPATHS APCATPATH, TI_ADFTB1.ADF_F1, TI_ADFTB1.ADF_F2, TI_ADFTB1.ADF_F3, TI_ADFTB1.ADF_F4, TI_ADFTB1.ADF_F5, TI_ADFTB1.ADF_F6, TI_ADFTB1.ADF_F7, TI_ADFTB1.ADF_F8, TI_ADFTB1.ADF_F9, TI_ADFTB1.ADF_F10 LEFT OUTER JOIN TI_ADFTB1_#INDEX_SCOPE_TAG#_#LANGUAGE_TAG# TI_ADFTB1 ON (CATENTRY.CATENTRY_ID=TI_ADFTB1.CATENTRY_ID) STORECENT.STOREENT_ID, TI_APGROUP.CATPATHS APCATPATH, TI_CATALOG.CATALOG PARENT_CATALOG_ID, TI_ADFTB1.ADF_F1, TI_ADFTB1.ADF_F2, TI_ADFTB1.ADF_F3, TI_ADFTB1.ADF_F4, TI_ADFTB1.ADF_F5, TI_ADFTB1.ADF_F6, TI_ADFTB1.ADF_F7, TI_ADFTB1.ADF_F8, TI_ADFTB1.ADF_F9, TI_ADFTB1.ADF_F10 LEFT OUTER JOIN TI_ADFTB1_#INDEX_SCOPE_TAG#_#LANGUAGE_TAG# TI_ADFTB1 ON (CATENTRY.CATENTRY_ID=TI_ADFTB1.CATENTRY_ID) <field column="FULLIMAGE" name="fullImage" /> <field column="parentCatgroup_id_path" splitBy=";" sourceColName="APCATPATH"/> <field column="parentCatentry_id" splitBy=";" sourceColName="CATENTRY_PARENT"/> <field column="productset_id" splitBy=";" sourceColName="PRODUCTSET"/> <field column="PRICE_GBP" name="price_GBP"/> <field column="cas_f30" splitBy=";" sourceColName="CAS_F30ATTR"/> <field column="ads_f30" splitBy=";" sourceColName="ADS_F30ATTR"/> <field column="adf_f10" splitBy=";" sourceColName="ADF_F10"/> <!-- Product end --> <!-- Bundle start --> STORECENT.STOREENT_ID, TI_APGROUP.CATPATHS APCATPATH, TI_CAFTB1.CAF_F1, TI_CAFTB1.CAF_F2, TI_CAFTB1.CAF_F3, TI_CAFTB1.CAF_F4, TI_CAFTB1.CAF_F5, TI_CAFTB1.CAF_F6, TI_CAFTB1.CAF_F7, TI_CAFTB1.CAF_F8, TI_CAFTB1.CAF_F9, TI_CAFTB1.CAF_F10, TI_ADFTB1.ADF_F1, TI_ADFTB1.ADF_F2, TI_ADFTB1.ADF_F3, TI_ADFTB1.ADF_F4, TI_ADFTB1.ADF_F5, TI_ADFTB1.ADF_F6, TI_ADFTB1.ADF_F7, TI_ADFTB1.ADF_F8, TI_ADFTB1.ADF_F9, TI_ADFTB1.ADF_F10 FROM CATENTRY LEFT OUTER JOIN TI_ADFTB1_#INDEX_SCOPE_TAG#_#LANGUAGE_TAG# TI_ADFTB1 ON (CATENTRY.CATENTRY_ID=TI_ADFTB1.CATENTRY_ID) STORECENT.STOREENT_ID, TI_APGROUP.CATPATHS APCATPATH, TI_CAFTB1.CAF_F1, TI_CAFTB1.CAF_F2, TI_CAFTB1.CAF_F3, TI_CAFTB1.CAF_F4, TI_CAFTB1.CAF_F5, TI_CAFTB1.CAF_F6, TI_CAFTB1.CAF_F7, TI_CAFTB1.CAF_F8, TI_CAFTB1.CAF_F9, TI_CAFTB1.CAF_F10, TI_ADFTB1.ADF_F1, TI_ADFTB1.ADF_F2, TI_ADFTB1.ADF_F3, TI_ADFTB1.ADF_F4, TI_ADFTB1.ADF_F5, TI_ADFTB1.ADF_F6, TI_ADFTB1.ADF_F7, TI_ADFTB1.ADF_F8, TI_ADFTB1.ADF_F9, TI_ADFTB1.ADF_F10 FROM CATENTRY LEFT OUTER JOIN TI_ADFTB1_#INDEX_SCOPE_TAG#_#LANGUAGE_TAG# TI_ADFTB1 ON (CATENTRY.CATENTRY_ID=TI_ADFTB1.CATENTRY_ID) <field column="FULLIMAGE" name="fullImage" /> <field column="parentCatgroup_id_path" splitBy=";" sourceColName="APCATPATH"/> <field column="parentCatentry_id" splitBy=";" sourceColName="CATENTRY_PARENT"/> <field column="productset_id" splitBy=";" sourceColName="PRODUCTSET"/> <field column="PRICE_GBP" name="price_GBP"/> <field column="cas_f30" splitBy=";" sourceColName="CAS_F30ATTR"/> <field column="ads_f30" splitBy=";" sourceColName="ADS_F30ATTR"/> <field column="adf_f10" splitBy=";" sourceColName="ADF_F10"/> <!-- Bundle end --> STORECENT.STOREENT_ID, TI_APGROUP.CATPATHS APCATPATH, TI_CAFTB1.CAF_F1, TI_CAFTB1.CAF_F2, TI_CAFTB1.CAF_F3, TI_CAFTB1.CAF_F4, TI_CAFTB1.CAF_F5, TI_CAFTB1.CAF_F6, TI_CAFTB1.CAF_F7, TI_CAFTB1.CAF_F8, TI_CAFTB1.CAF_F9, TI_CAFTB1.CAF_F10, TI_ADFTB1.ADF_F1, TI_ADFTB1.ADF_F2, TI_ADFTB1.ADF_F3, TI_ADFTB1.ADF_F4, TI_ADFTB1.ADF_F5, TI_ADFTB1.ADF_F6, TI_ADFTB1.ADF_F7, TI_ADFTB1.ADF_F8, TI_ADFTB1.ADF_F9, TI_ADFTB1.ADF_F10 FROM CATENTRY LEFT OUTER JOIN TI_ADFTB1_#INDEX_SCOPE_TAG#_#LANGUAGE_TAG# TI_ADFTB1 ON (CATENTRY.CATENTRY_ID=TI_ADFTB1.CATENTRY_ID) STORECENT.STOREENT_ID, TI_APGROUP.CATPATHS APCATPATH, TI_CAFTB1.CAF_F1, TI_CAFTB1.CAF_F2, TI_CAFTB1.CAF_F3, TI_CAFTB1.CAF_F4, TI_CAFTB1.CAF_F5, TI_CAFTB1.CAF_F6, TI_CAFTB1.CAF_F7, TI_CAFTB1.CAF_F8, TI_CAFTB1.CAF_F9, TI_CAFTB1.CAF_F10, TI_ADFTB1.ADF_F1, TI_ADFTB1.ADF_F2, TI_ADFTB1.ADF_F3, TI_ADFTB1.ADF_F4, TI_ADFTB1.ADF_F5, TI_ADFTB1.ADF_F6, TI_ADFTB1.ADF_F7, TI_ADFTB1.ADF_F8, TI_ADFTB1.ADF_F9, TI_ADFTB1.ADF_F10 FROM CATENTRY LEFT OUTER JOIN TI_ADFTB1_#INDEX_SCOPE_TAG#_#LANGUAGE_TAG# TI_ADFTB1 ON (CATENTRY.CATENTRY_ID=TI_ADFTB1.CATENTRY_ID) <field column="FULLIMAGE" name="fullImage" /> <field column="parentCatgroup_id_path" splitBy=";" sourceColName="APCATPATH"/> <field column="parentCatentry_id" splitBy=";" sourceColName="CATENTRY_PARENT"/> <field column="productset_id" splitBy=";" sourceColName="PRODUCTSET"/> <field column="PRICE_GBP" name="price_GBP"/> <field column="cas_f30" splitBy=";" sourceColName="CAS_F30ATTR"/> <field column="ads_f30" splitBy=";" sourceColName="ADS_F30ATTR"/> <field column="adf_f10" splitBy=";" sourceColName="ADF_F10"/> <!-- Others start --> STORECENT.STOREENT_ID, TI_APGROUP.CATPATHS APCATPATH, TI_ADFTB1.ADF_F1, TI_ADFTB1.ADF_F2, TI_ADFTB1.ADF_F3, TI_ADFTB1.ADF_F4, TI_ADFTB1.ADF_F5, TI_ADFTB1.ADF_F6, TI_ADFTB1.ADF_F7, TI_ADFTB1.ADF_F8, TI_ADFTB1.ADF_F9, TI_ADFTB1.ADF_F10 FROM CATENTRY LEFT OUTER JOIN TI_ADFTB1_#INDEX_SCOPE_TAG#_#LANGUAGE_TAG# TI_ADFTB1 ON (CATENTRY.CATENTRY_ID=TI_ADFTB1.CATENTRY_ID) STORECENT.STOREENT_ID, TI_APGROUP.CATPATHS APCATPATH, TI_ADFTB1.ADF_F1, TI_ADFTB1.ADF_F2, TI_ADFTB1.ADF_F3, TI_ADFTB1.ADF_F4, TI_ADFTB1.ADF_F5, TI_ADFTB1.ADF_F6, TI_ADFTB1.ADF_F7, TI_ADFTB1.ADF_F8, TI_ADFTB1.ADF_F9, TI_ADFTB1.ADF_F10 ROM CATENTRY LEFT OUTER JOIN TI_ADFTB1_#INDEX_SCOPE_TAG#_#LANGUAGE_TAG# TI_ADFTB1 ON (CATENTRY.CATENTRY_ID=TI_ADFTB1.CATENTRY_ID) <field column="FULLIMAGE" name="fullImage" /> <field column="PUBLISHED" name="published" /> <field column="parentCatgroup_id_path" splitBy=";" sourceColName="APCATPATH"/> <field column="parentCatentry_id" splitBy=";" sourceColName="CATENTRY_PARENT"/> <field column="productset_id" splitBy=";" sourceColName="PRODUCTSET"/> <field column="PRICE_GBP" name="price_GBP"/> <field column="cas_f30" splitBy=";" sourceColName="CAS_F30ATTR"/> <field column="ads_f30" splitBy=";" sourceColName="ADS_F30ATTR"/> <field column="adf_f10" splitBy=";" sourceColName="ADF_F10"/> <!-- Others end -->
- Go to the solrhome/MC_catalogId/database directory and open the wc-dataimport-preprocess-parent-catgroup.xml file.
-
Enable the customizations in the
wc-dataimport-preprocess-parent-catgroup.xml file:
<_config:property name="indexNavigationPath" value="true"/>
- Recreate the search directory structure.