setupSearchIndex utility

The setupSearchIndex utility configures the Solr cores by creating all core instances for the specified master catalog.

Syntax diagram for setupSearchIndex utility

Parameter values

action
Optional: Prepares the search index for certain scenarios. Typically, you run the utility without specifying an action, unless you have a need to run a specific action during this task, such as resetting search cores.

Action names that end with Update as its suffix indicate that the action applies to an existing core, instead of setting up a new core.

The following actions are supported:
configWCforReset
When used with the configSolrCoresReset parameter, resets search cores on the WebSphere Commerce server after a previous search index is already setup. When search cores are reset, all core-related information, such as XML configuration files and database information is deleted. (In previous WebSphere Commerce versions, it was possible to run the search server on remote machines. In such cases the reset command would have to be issued twice, once for the WebSphere Commerce server with the configWCforReset parameter, and once for the remote server using the configSolrCoresReset parameter. In Version 8, you issue both parameters in one action.)
To reset all Solr cores, set the masterCatalogId parameter to all when using this action.
Example:
setupSearchIndex.sh -instance instance_name -masterCatalogId masterCatalogId -dbuser db_user 
-dbuserpwd db_password -action "configWCforReset,configSolrCoresReset"
configSolrCoresReset
Resets search cores on the Solr machine.
When search cores are reset, all core-related information, such as XML configuration files and database information is deleted. You will need to run the setup utility again to rebuild the index.
If masterCatalogId is set to all, all Solr cores are reset.
configWCScheduleforCatalogFilter
Uses the EXPRESSION table for entitlement. You will need to use this action in the following scenarios:
  • When you want to import catalog filter expressions to the search index in a migrated version 7 environment.
  • If you dataload your catalog filters.
configWCforSolrUpdate
Configures WebSphere Commerce to apply updates.
configSolrCoresUpdate
Configures Solr to apply updates.
configHorizontalShards
Configures indexing for new horizontal shards.
configHorizontalShardsUpdate
Configures indexing for existing horizontal shards.
configParallelShards
Configures indexing for new parallel shards, which creates horizontal shards, plus one vertical shard.
configParallelShardsUpdate
Configures indexing for existing parallel shards.
configShardsReset
Deletes all existing shards.
The following actions support the managed configuration:
configSolrCoresAdv
Sets up the advanced file structure for the type that is specified in the propFile property file.
configSolrCoresAdvUpdate
Updates an existing advanced file structure for the type that is specified in the propFile property file. This action is used to apply features that are provided by interim fixes.
configSolrCoresAdvReset
Resets the advanced file structure for the specified master catalog ID and the type that is specified in the propFile property file.
configWCforSolrAdv
Updates the remote database based on the remote database information that is provided in the propFile property file.
configWCforSolrAdvLocal
Updates the local database based on the local database information that is provided in the propFile property file.
configWCforManagedPreprocess
Allows Management Center Store preview to work in a clustered environment where all machines that have different preprocess directories.
propFile
The full path to the loading.properties input properties file, when you are working with a clustered environment that uses the managed configuration. For more information, see Setting up the WebSphere Commerce Search index structure for a specific master catalog in the managed configuration.
masterCatalogId
The ID of the master catalog (for example, 10101) to set up the search index. Or, indicate all to set up the search index for all master catalogs.
If you do not know the master catalog ID, run the following SQL for your starter store:
SQL: select * from catalog where IDENTIFIER='STORE_IDENTIFIER'
To find the master catalog ID for an Extended Site store:
  1. Find the store ID:
    select * from storeent where IDENTIFIER='STORE_IDENTIFIER'
    
  2. Use the storeent_id as the store_id in the following SQL to find the catalog asset store ID of this Extended Site store:
    
    select * from storerel where store_id=XXXXXX and streltyp_id=-4 and relatedstore_id not in (XXXXXX)
    
    Where XXXXXX is the storeent_id.
  3. Get the master catalog ID:
    
    select * from storecat where storeent_id=YYYYYY and mastercatalog='1'
    
    Where YYYYYY is the relatedstore_id.
dbuser

DB2The name of the user that is connecting to the database.

OracleThe user ID connecting to the database.

dbuserpwd
The password for the user that is connecting to the database.
solrhome
Optional: The location of the Solr home directory path that contains the index data of Solr. The value must be an absolute path.
Default locations:
  • WebSphere Commerce DeveloperWCDE_installdir/search/solr/home
  • AIXLinuxWindowsWC_installdir/instances/instance_name/search/solr/home
  • For IBM i OS operating systemWC_instance_root/search/solr/home
indextype
Optional: Indicates the search engine index to set up. Valid values:
CatalogEntry
Sets up the index for catalog entries in the master catalog.
CatalogGroup
Sets up the index for categories in the master catalog.
If you do not use the indextype parameter, both the CatalogEntry and CatalogGroup indexes are built by default.
setupWebContent
Optional: A flag to indicate whether to prepare the basepath and storeid for building the site content index. If false, the basepath and storeid are not added to the config column in the SRCHCONFEXT table. The default value is true.
Note: Exceptions might occur if your site contains many extended sites and you run setupWebContent. To avoid this issue, enable autoIndex within the droidConfig.xml file.
dbauser
The name of the DBA user. This parameter is required with the dbauserpwd parameter to create the workspace indexes.
dbauserpwd
The password of the DBA user. This parameter is required with the dbauser parameter to create the workspace indexes.
createAll
Indicates whether to create cores for all available workspaces, including non-allocated workspaces. The default value is false, where cores are only created for allocated workspaces.
indexsubtype
Optional: Indicates the search engine index subtypes to set up. Valid values:
Inventory
Sets up the index for inventory data.
The inventory index supports only stores that use the non-ATP inventory system.
Price
Sets up a subindex for price data to be used with Index Load, instead of storing it in the catalog entry core.
includeUpdate
Indicates whether the utility applies optional features that are provided by interim fixes.
For example, features that exist in the following directories:
  • catalog-update
  • template-update

The default value is false.

numOfShards
The number of sharding cores you want to prepare.
shardTags
Optional: Creates the specified shard tags.
For example, passing in -shardTags X,Y,Z creates the following shards: Shard-X, Shard-Y, and Shard-Z.
Note: The specified number of shard tags must match the specified number of shards. If not specified, a letter is used from A to Z. Therefore, numOfShards is up to a maximum of 26.

Example

From the following directory:
  • WC_installdir\components\foundation\subcomponents\search\bin
  • WebSphere Commerce DeveloperWCDE_installdir\components\foundation\subcomponents\search\bin
Run the utility:
  • WebSphere Commerce DevelopersetupSearchIndex.bat [-action action] [-propFile propFile] -masterCatalogId masterCatalogId [-indextype indextype] [-numOfShards numOfShards] [-solrhome solrhome][-setupWebContent true | false] [-indexsubtype indexsubtype] [-shardTags shardTags]
  • WindowssetupSearchIndex.bat [-action action] [-propFile propFile] -instance instance_name -masterCatalogId masterCatalogId -dbuser db_user -dbuserpwd db_password [-solrhome solrhome] [-indextype indextype] [-numOfShards numOfShards] [-setupWebContent true | false] [-dbauser dba_user] [-dbauserpwd dba_userpwd] [-createAll true | false] [-indexsubtype indexsubtype] [-includeUpdate true | false] [-shardTags shardTags]
  • For IBM i OS operating systemAIXLinuxsetupSearchIndex.sh -instance instance_name [-action action] [-propFile propFile] -masterCatalogId masterCatalogId -dbuser db_user -dbuserpwd db_password [-solrhome solrhome] [-indextype indextype] [-numOfShards numOfShards] [-setupWebContent true | false] [-dbauser dba_user] [-dbauserpwd dba_userpwd] [-createAll true | false] [-indexsubtype indexsubtype] [-includeUpdate true | false] [-shardTags shardTags]

Ensure that the utility runs successfully.

Consult the following table for the utility results:
Search setup utility results
Results Description
Search index setup successfully completed without errors. The utility ran successfully.
Search index setup successfully completed with warnings. Check the log file for more information. The utility ran successfully but with warnings. Some warnings might be generated during the setup index process. However, they might not be important. For example, if the utility skips existing cores.
Search index setup successfully completed with errors. Check the log file for more information. The utility ran successfully but with errors. The job did not completely finish setup. Check the log files to see where the problem occurred.
Search index setup not successful. An unrecoverable error has occurred. Check the log file for more information. The utility did not run successfully. Check the log files to see where the problem occurred.
You can find the log file in the following location:
  • WC_installdir/components/foundation/subcomponents/search/log/wc-search-index-setup.log
You can get more logging information by updating the logging level from INFO to FINEST:

# Default global logging level, INFO
com.ibm.commerce.level=FINEST

For more information about the log file, and to enable more logging details, see Enabling tracing and logging for WebSphere Commerce Search.