Setting up the search index
Your search index structure can be set up for a specific master catalog. You can deploy your search index structure on your WebSphere Commerce server (embedded configuration or standard configuration). Then, you can configure WebSphere Commerce to use the Solr index by running the search index setup utility. This utility ensures that your index is built successfully by using your WebSphere Commerce master catalog data.
You can reset the search cores on the WebSphere Commerce and Solr machines by running the search index setup utility, after a search index has already been previously setup. For more information and usage, see the action parameter values defined in this task.
Before you begin
- Ensure that your administrative server is started. For example:
- If WebSphere Commerce is managed by WebSphere Application Server Deployment manager (dmgr), start the deployment manager and all node agents. Your cluster can also be started.
- If WebSphere Commerce is not managed by WebSphere Application Server Deployment manager (dmgr), start the WebSphere Application Server server1.
- Deploying WebSphere Commerce Search That is, ensure that the search Server and WebSphere
Commerce instance server are working and running, or the task fails to export the
wc-search.xml from the application EAR.Note: You can skip setting up the search index structure (setupSearchIndex utility) on the repeater, as you can copy the Solr home directory from the master search server to the repeater. The default Solr home is in the following location: working_dir/search/instance_name/search/solr/home.
- Ensure that the QEJBSVR user profile has WRITE authority for the following directory: QIBM/UserData/CommerceServer80/instances/instance_name/temp
Procedure
-
Complete one of the following tasks:
- Log on as a WebSphere Commerce non-root user.
- Log on with a user profile that has *SECOFR authority.
- Log on with a user ID that is a member of the Windows Administration group.
-
Go to the following directory:
- WC_installdir\components\foundation\subcomponents\search\bin
- WCDE_installdir\components\foundation\subcomponents\search\bin
-
Run the search index setup utility:
setupSearchIndex.bat [-action action] [-propFile propFile] -masterCatalogId masterCatalogId [-indextype indextype] [-numOfShards numOfShards] [-solrhome solrhome][-setupWebContent true | false] [-indexsubtype indexsubtype] [-shardTags shardTags]
setupSearchIndex.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]setupSearchIndex.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]
Where:- 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.)
- configSolrCoresReset
- Resets search cores on the Solr machine.
- 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:- Find the store
ID:
select * from storeent where IDENTIFIER='STORE_IDENTIFIER'
- Use the storeent_id as the store_id in the following
SQL to find the catalog asset store ID of this Extended Site
store:
Where XXXXXX is the storeent_id.select * from storerel where store_id=XXXXXX and streltyp_id=-4 and relatedstore_id not in (XXXXXX)
- Get the master catalog
ID:
Where YYYYYY is the relatedstore_id.select * from storecat where storeent_id=YYYYYY and mastercatalog='1'
- Find the store
ID:
- dbuser
-
The name of the user that is connecting to the database.
The 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:
- WCDE_installdir/search/solr/home
- WC_installdir/instances/instance_name/search/solr/home
- WC_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.
- 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.
- 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.
-
Ensure that the utility runs successfully; or review the log file,
WC_installdir/components/foundation/subcomponents/search/config/logging.properties.
You can get more logging information by updating the logging level from
INFO
toFINEST
: For more information about the log file, and to enable more logging details, see Enabling tracing and logging for WebSphere Commerce Search. - Restart the WebSphere Commerce Search server.