Genpact Cora Knowledge Center

Support

Setting Up Search for a Hot Operations Solution

V9.2

Overview

Configuring the Case Search feature involves the following steps:


StepsLocationPerformed by Documentation
1Define searchable fieldsJSON file
  • Cora SeQuence Administrator
Configuring Elasticsearch Service
2Enable change trackingCora SeQuence database
  • Cora SeQuence Administrator
  • DBA
3Create connection stringAdministration site
  • Architect
  • Tech Lead
  • Developer
Current article
4Set up indexing jobsAdministration site
5Enable search in FlowtimePowerShell function
6Select a search providerAdministration site

This article covers the procedures performed by the developer, tech lead, or architect (steps 3-6).

To learn how to perform the first steps, see this article.

Create the connection string

Configure the connection to the Elasticsearch service. You can create new connections, edit existing ones, or delete them.  

Prerequisites

Before you create the connection string, make sure that:

  • The Elasticsearch cluster is setup.
  • You have the Elasticsearch connection details, such as:
    • Connection type
    • End Points
    • Required credentials
  • You have the relevant JSON file relevant file.

Procedure

  1. Go to Administration > Global Settings > Elastic Search Connections, and click Add New Record.
  2. Enter a meaningful name for the connection string.
    This is the name to configure the solution's search provider. 
  3. Select the connection type. 
  4. Enter a meaningful name under Index Name.
    This is the name that you will use to view log data and analytics about the solution's index in Kibana.
  5. Click the ellipsis button to open the Index Configuration screen.
  6. In the Index Configuration screen, paste the JSON that you created for the specific Hot Operations solution. 
  7. Under End Point, enter the connection to the Elasticsearch cluster. 
  8. If your connection requires credentials, select the credential type and enter a credential name.
  9. Click Add.

Set up the indexing jobs

Data indexing is performed by a JES job. You need to set up two jobs:

  • Full load: Creates the Elasticsearch index based on the JSON definitions. This job copies the relevant data from the Cora SeQuence database to the Elasticsearch database.

NOTE
Depending on the size of your database, this job can take some time. To avoid performance issues, configure it to run during the weekend or during low-peak hours.

  • Incremental load: This job starts to run right after the full load job completes. This job makes sure that any changes to the Cora SeQuence database are synced to the Elasticsearch database.


Prerequisites

Before you create the indexing jobs, make sure that:

  • Change tracking was enabled in the database.
  • The Elasticsearch connection has been setup.

Configure the full load indexing job

  1. Go to Administration > Global Settings > Jobs Management, and click Add Job.
  2. Select ElasticSearch Full Load Data Collector, and then click Next.
  3. On the job definition screen, define the following:
    • Name: Enter a meaningful name for the full load job.
    • Job Host: the list includes the servers on which JES (Job Execution Service) is installed.
      Do one of the following:
      • Select a server on which to run the job.  
      • Leave the field blank, if you want the system to allocate a server to run the job.
    • Job is enabled: Select this option only after you complete the workflow, or if you want to run the job for testing purposes.
    • Job supports redundancy: option is selected by default. Clear the checkbox if you do not want to enable redundancy.
      For more details on job redundancy settings, see this article
  4. Click Next.
  5. On the Command tab, set the following:
    • Connection to ElasticSearch (mandatory): Select the relevant connection string.  
    • Batch Size (mandatory): You can enter up to 10000.
      Batch Size is the number of records that are synced at one time. Depending on the complexity of the cases, you may consider to set a smaller batch size.
  6. Click Next.
  7. On the Advanced Options tab, set the following options: 
    • Set the job to execute every 2 minutes. 
    • Select the "If a job is currently running, do not start the next job..." checkbox.
    • If not defined, job will run with default options.  
  8. Click Finish.

Configure the incremental indexing job

Configuring the incremental job is similar to configuring the full load job. 

  • Job Type: ElasticSearch Incremental Load Data Collector
  • Batch Size (mandatory): You can enter up to 10000.
    Batch Size is the number of changes introduced to the database.

For the detailed procedure, see the Configure the full load indexing job section above.

Enable search in Flowtime

You need to enable search to display the Case Search menu item in Flowtime. 

When enabled, the menu item displays only if at least one solution is mapped to a search provider. 

You run a PowerShell function to enable or disable case search. You can use this function to set the total number of retrieved records for each search query. 

Procedure

  1. Run the Set-CoraSeQuenceQuickSearchConfiguration PowerShell function on every server that hosts the Flowtime application. 
  2. To define the total number of retrieved records, set the PageSize parameter.

Select a search provider

Map the Hot Operations solution to the relevant Elasticsearch index. Only after this mapping, Flowtime users can search for cases within the solution.  

Prerequisites

Before you create the connection string, make sure that:

  • Search has been enabled in Flowtime.
  • The indexing jobs have been activated.

Procedure

  1. Go to Administration > Solutions, and then select the relevant solution.
  2. On the solution's page, under HotOperations Common Tasks, click Choose Search Provider.
  3. Select the Elasticsearch connection string associated with the solution's index. 
  4. Click OK.