Elasticsearch Indexer Processing Plugin Parameters and Triggers

Elasticsearch Indexer processes core and derived events to trigger the publication of STEP data to the Elasticsearch search engine for display on the faceted Search Screen in Web UI.

Note: Faceted search, powered by Elasticsearch, no longer requires a separate commercial license for STEP 2023.3 systems and newer.

Deleted objects (objects in the recycle bin) are ignored during processing.

The Parameters and Event Triggers sections below contain important information on settings that should be considered when creating an event processor using this processing plugin.

Prerequisites

This section of documentation describes configuration steps for this specific processor, but that is only one part of configuring an event processor. For the full set of instructions on configuring an event processor, refer to the Event Processors topic.

The Elasticsearch Indexer requires an Elasticsearch configuration created via a wizard (not manually). For details, refer to the Creating and Maintaining an Elasticsearch Configuration topic.

Parameters

Each of the relevant parameters for the Event Processor Wizard 'Configure Processing Plugin' step are described below. Any additional wizard parameters with importance for this plugin are also included in this topic.

While the event processor is created automatically by clicking the Finish button on the Elasticsearch Configuration wizard, the following parameters can be edited directly on the event processor.

  1. On the 'Configure Event Processor' step, for the User Running Event Processor Plugin parameter, it is recommended to select 'DBA' as the user.
  2. For the Select Processor parameter, choose the Elasticsearch Indexer processing plugin to display the expected parameters on the 'Configure Processing Plugin' step.
  3. For the Number of Events to Batch parameter, use the default value of 10,000 for optimal performance.
  1. Click the Next button twice to display the wizard step 'Schedule Event Processor' and schedule as required.

Other changes to an existing Elasticsearch event processor must be made from the Elasticsearch configuration, as defined in the Creating and Maintaining an Elasticsearch Configuration topic.

Event Triggers

Event Triggering Definitions are the same in Event Processors as they are in an OIEP. For details about the triggers, refer to the OIEP - Event-Based - Event Triggering Definitions Tab topic in the Data Exchange documentation.

Basic event triggers are set using the Elasticsearch Configuration wizard. Set additional triggers based on your data model and as identified by the numbered items 1 and 2 in the image above.

  • Triggering Object Types - add object type(s) for which instances contain data to be published to Elasticsearch.

Note: Selected object types are added both to the Event Triggering Definitions of the event processor and to the Elasticsearch configuration.

Additionally, include business rules and/or derived events as necessary to provide referenced data, as follows:

Triggering for Inherited Data: When triggering on specific object types, such as 'Product' (item 1), data inherited to the Product object could be changed on the parent. To handle this case, ensure that 'Republish Descendants' is enabled in the Elasticsearch configuration. Refer to the Creating and Maintaining an Elasticsearch Configuration topic for more information.

Note: Updating a specification attribute value on a parent node will trigger a republish event for all child nodes. This may impact performance if there is a high volume of children.

Triggering for Referenced Data: When triggering on specific object types, such as 'Product' (item 2), you can republish the Product object when data changes on an object referencing the Product. To handle this case, the Product object referenced image (item 3) is triggered and then processed via a business condition in the Event Filter parameter, and a business action in the Generate Event parameter. The condition always returns 'False' since you do not want the referenced object types to be published.

The action generates a derived event to evaluate the incoming references from products array, and if the source of a reference is a Product, creates an event for it. Use this only when the Elasticsearch configuration includes data from referenced objects, for example, when those objects change, you want to republish the 'root node' to publish the data to Elasticsearch.

For similar use cases and samples of the JavaScript business rules, refer to the Event-Based OIEP Examples topic in the Data Exchange documentation.

Note: Using event generators in this manner may impact performance when writing the data. Updating one value may lead to millions of republish events.

  • Triggering Attributes - add all attributes (item 3) that should be monitored.

  • Reference Type Triggers - add reference types (item 4) that should be monitored.

  • Triggering Data Container Types - Sufficiency score data container information (item 5) is automatically included for publication and is not required to be defined as an event trigger.

  • Triggering Workspace - set the workspace trigger via the Elasticsearch Configuration object, as defined in the Creating and Maintaining an Elasticsearch Configuration topic.

    The presence of a Triggering Workspace flipper indicates that the event processor was configured prior to release 11.0 if either the 'Main' or the 'Main and Approved' option was previously selected. Although changing the selection to the default 'Approved' radio button removes the flipper from the event processor, the setting can be observed on the Elasticsearch Configuration object tab and can also be modified as defined in the Creating and Maintaining an Elasticsearch Configuration topic.

    Note: To activate a change to the Triggering Workspace parameter, you must invoke the event processor with at least one event on the queue.

Although changing the selection to the default 'Approved' radio button removes the flipper from the event processor, the setting can be observed from the Event Processor Wizard on the Configure Processing Plugin step, as defined, and further explained in the Parameters section above.

Next, publish data to the Event Processor running the Elasticsearch Indexer as defined in the Elasticsearch Index Publishing topic.