Configuring Sterling Search Index

The Sterling Search Index of Sterling™ Order Management System Software provides a facility to index a transactional data when created or updated in the system. The attributes to be indexed are based on a predefined template called outline template.

The built-in integration with the Order Search supports indexing of an ‘Order’ entity in release 10.0. You can configure an order and related attributes defined in the entity models for the Order Header, Order Line, Payment, Person Info, Order Status, and so on to create an order outline template.

To configure the Sterling Search Index implementation for an ‘Order’ entity, complete the following high-level tasks:

  1. Assess the default attributes enabled for indexing in the ‘Order’ and subordinate entities. You can view the default order outline template from the Index Management console in System Management Administrator (SMA). Alternately, you can retrieve the outline template by using the getIndexStatus API.
  2. Add new attributes to the outline document or remove the default attributes to meet your search expectations. For example, the following file contains sample data for order summary extensions.
    devtoolkit_docker/compose-orderservice/sample/extension/oms/order_summary_extensions.xml
    For more information about adding or removing attributes from the outline document, see Customizing Sterling Search Index.
    • You can preview the order outline xml template after you configure attributes for the order outline document.
    • Go to the <INSTALL_DIR>/bin/ folder, and run the following command to generate the template. The template is stored in the INDEX_TEMPLATE column of PLT_INDEX_CONFIG table.
      deployer.sh -t generate-entity-indexconfig
  3. After all the required attributes are included in the order outline document, run the following command to build the entity extensions.
    deployer.sh -t entitydeployer
    For more information about customizing container images with the extension and deploying in the containerized environment, see Customizing and generating container images.
  4. The Elasticsearch properties related to Sterling Search Index for setting the client type, validation at start up, and validation fail behavior are defaulted with the appropriate values. Ensure that they are not overridden unless directed by a Sterling Order Management System Software technical support personal.
  5. Set the yfs properties related to Sterling Search Index defined in yfs.properties_ysc_ext. Many properties are defaulted to optimum values, and you can override them only if needed. Read the property description and reach out to Sterling Order Management System Software technical support personal, if required.
  6. Create an alert service and attach it to the ON_FAILURE event on the SSI_INDEX_NOTIFICATION transaction so that indexing failures and flipping of search working flag (due to continuous failures in indexing) are notified as per your preference.
  7. Create an agent criteria for the OSI_HISTORY_MASS_SYNC agent for all enterprises that contain history orders. Ensure that the order duration (identified by SyncFromYear and SyncToYear parameters), and the Save Index Name to which the orders are indexed as set appropriately for each criteria.
  8. Create an agent criteria for the SSI_MASS_SYNC agent in ‘unindexed’ mode for all enterprises that contain preexisting orders.
  9. Configure the SSI_DELAYED_SYNC agent to trigger automatically so that it can attempt the momentarily indexing failures again.

Some of these steps are accompanied with mandatory steps to accomplish it completely. For example, after deploying the entity changes as part of step 3, rebuild the resource jar, EAR, and deploy it again.

This topic explains only the steps to configure Sterling Search Index for an ‘Order’ entity. There are various other configurations that are required on Order Search like defining an index schema to meet your business requirements and create as many indices as possible to segregate your historical order data to maintain a good index hygiene. You need to perform such tasks in-between the mentioned steps. For more information about creating and configuring indices, see Using Order Search APIs.