IBM Sterling has introduced Web Call Center known as Commerce Call Center (CCC) with version 9.3 onwards. It is a Thin-Client application. Prior to v9.3, RCP-based COM was used which is a Thick-Client application. So the process of build, deployment and promoting new changes to environment has become easy as it eliminates the need for installing and maintaining a client application on desktop systems.
When a customer calls the call center user asking product details which he/she intend to buy, In such situations user must be able to browse products and view the details. For that, Product browsing (Catalog Search Indexing) should have been enabled for users to search and browse products.
In this blog, we will learn how to enable Product browsing (Catalog Search Indexing) for IBM Sterling Web Call Center. I have taken reference of Sterling OMS v9.5 to explain steps.
Sterling provides the Apache Lucene open source search engine library for conducting fast and accurate searches. The Lucene search engine enables catalog organizations to create one searchable index file for each locale from the data that is available in the Sterling database. This index file and a user query, which is defined by customer-provided search criteria, return search results in a filtered, easy-to-navigate format.
Error when Product browsing is not enabled:
When product browsing is not enabled, you will see error as 'Could not find active search index'. You can follow below steps to enable it.
Steps to enable Product Browsing:
- You should have Items created in published (3000) status under your catalog organization. It can be done via Configurator/Business Center/manageItem Api.
- You should have Master catalog created for catalog organization. It can be done via Business Center.
- You should have Categories created in published (3000) status under master catalog. It can be done via Business Center/manageCategory Api. Let's say your business deals with Apparels. In that case, your category hierarchy might look like -
MasterCatalog -> Winter collection -> Mens -> Jeans -> Size30 -> Item1
MasterCatalog -> Winter collection -> Womens -> Jeans -> Size32 -> Item2
- Items should be added to Category. It can be done via Business Center/modifyCategoryItem Api.
MasterCatalog -> Winter collection -> Mens -> Jeans -> Size30 -> Item1
MasterCatalog -> Winter collection -> Womens -> Jeans -> Size32 -> Item2
- Update the customer_override.properties file for index file root directory location based on your setup. This is the directory under which search index agent will generate the index files. These files will be used by the WebCOM during product browsing.
Example - yfs.yfs.searchIndex.rootDirectory=/opt/searchindexdir
- Rebuild the EAR file and deploy
- You need to configure and start Catalog Index Build time-triggered agent to enable product browsing. Remember this agent will display items which are part of YFS_CATEGORY_ITEM table (not YFS_ITEM)
Launch configurator and go toApplication Platform -> Process Modeling -> General -> Transactions -> Catalog Index Build
There are 4 important criteria parameters while configuring:
- IncrementalBuildFlag:
- N to build a full index file. - Set this flag to 'N' before triggering the agent whenever a full item refresh has to happen
- Y to rebuild the existing index file - If you specify Y, Sterling rebuilds the index based on the last successful index build. Set this for daily incremental build
- Number of Messages:
- The agent writes this information to multiple files (based on value configured), which identify the item data that should be included in the final index. After the agent finishes writing the files, it merges them into the final index file
- AutoActivate:
- Set as 'Y' to activate the index automatically after building the index file
- AutoInsertSearchIndexTrigger:
- Set as 'Y' to enable scheduled builds of catalog index file
- Once agent is configured and ran successfully, it will build the index files and activate the index. You can verify in SBC if Index status is Active or not.
- Now when you try product browsing from WebCOM, it should work fine!
Strategy for building and storing index files:
There are two ways to configure catalog index build. You can choose one as as per your business requirements.
- Build the index on a shared, central disk that is accessible from all servers
- Pros:
- No file transfer issues because the index is not copied across multiple servers
- Cons:
- Shared disk could become a single point of failure
- Volume of reads and writes from shared disk might slow performance, depending on the setup
- Build and push a copy of the index to multiple servers via file transfer. Automate this file transfer process to occur on completion of an index build, but do not automatically activate the index. When all servers have acknowledged the completion of the file transfer, call the manageSearchIndexTrigger API to activate the index
- Pros:
- No central point of failure
- Cons:
- Possible overhead to building an pushing index files across servers
Important points to remember:
- YFS_CATEGORY_ITEM → if you want to see which item/s will be part of product browsing, check item_key in this table
- YFS_SEARCH_INDEX_TRIGGER → to see if agent has triggered a new index trigger. check index_path and status fields
- YFS_SEARCH_INDEX_PROCESS → when agent is triggered, this table will have the index file path. you will have the records as many as configured in Agent criteria as Number of Messages. check fields status and index_set_path
- PLT_DB_POOL → verify that pool_config column has the correct value as per your environment for all the records in this table. If it's not correct then while triggering the agent you may face issues.
<
jdbc
>
<
param
name
=
"url"
value
=
"<<db_jdbc_url>>"
/>
<
param
name
=
"user"
value="<<user>>"/>
<
param
name
=
"password"
value="<<password>>"/>
<
param
name
=
"driver"
value
=
"<<db_driver>>"
/>
<
param
name
=
"schema"
value="<<schema>>"/>
</
jdbc
>
- Sometimes, after index is Activated it take times to reflect in the WebCOM screen. You might have to wait for few minutes for application cache to refresh or restart the server if required.
- Catalog Index Build time-triggered agent is an memory extensive process. You might see memory issues while running the agent. In that case you need to configure min and max heap for this agent to higher side. It will vary based on your product and category sizing.
Nice explanation.
ReplyDelete