elasticsearch-<data-source-id> Section
Data source–specific configuration sections enable you to specify Elasticsearch connections for different types of data that could be stored in an Elasticsearch database and retrieved by Genesys Info Mart.
By default, the Genesys Info Mart application template includes the [elasticsearch-sdr0] section and options, for specifying the Elasticsearch cluster that Genesys Info Mart uses to retrieve Session Detail Record (SDR) data in environments with Genesys Designer. (Support for Genesys Designer is available in certain Genesys Engage cloud and on-premises implementations.)
If you want Genesys Info Mart to process data that a particular data source stored in an Elasticsearch database and make this data available in the Info Mart database for downstream reporting applications, add the applicable configuration section(s) and options on the Options tab of the Genesys Info Mart Application object. Name the section [elasticsearch-<data-source-id>], where <data-source-id> matches the name of the data source that Genesys Info Mart supports.
Genesys Info Mart supports the following elasticsearch-* configuration sections for the specified features and data sources:
Configuration Section | Data Source | Feature | Introduced |
---|---|---|---|
elasticsearch-bgs0 | Bot Gateway Server (BGS) -- restricted releases prior to BGS 9.0.004.08 | Chat bot activity | 8.5.011.04 |
elasticsearch-ldr0 | CX Contact (CXC) | CX Contact campaigns - Unattempted records | 8.5.012.15 |
elasticsearch-sdr0 | Designer applications | Session Detail Records (SDRs) | 8.5.001.12 |
elasticsearch-sdr1 | Designer applications | SDR survey transcriptions | 8.5.005.20 |
Each data source–specific configuration section can contain the following options.
client
Default Value: off
Valid Values: off or any valid location of the cluster node(s) of the Elasticsearch cluster, properly formatted
Changes Take Effect: On the next ETL cycle
Dependencies: None
Introduced: 8.5.009.20
This option specifies one or more nodes in the Elasticsearch cluster that Genesys Info Mart uses to retrieve data from an Elasticsearch database version 5.0 or higher. Genesys Info Mart uses the REST API client to communicate with the Elasticsearch cluster. You must specify the REST API URL address(es) for the REST client in the following format:
- rest(http://<es-node>:<port>[,http://<es-node>:<port>]*)
g:index-interval
Default Value: No default value
Valid Values: Duration in days or ISO8601 duration format
Changes Take Effect: On the next ETL cycle
Dependencies: None
Introduced: 8.5.013.06
Specifies the maximum expected interval, or range of data, stored in a single Elasticsearch index. The option enables you to override the default Elasticsearch index interval.
If the data source uses indices that can have different intervals, set the value of this option to the largest possible interval. For example, if the data source uses an index that sometimes contains three days of data and sometimes contains five days of data, set g:index-interval=5.
g:tenant-prefix
Default Value: No default value
Valid Values: A string identifying the tenant on a shared Elasticsearch cluster
Changes Take Effect: On the next ETL cycle
Dependencies: None
Introduced: 8.5.011.15
In Genesys Engage cloud deployments, the option defines a cloud tenant prefix for Elasticsearch indexes on an Elasticsearch cluster shared across multiple cloud tenants. The tenant prefix enables Genesys Info Mart to identify Elasticsearch indexes related to the particular cloud tenant.
If specified, the option value overrides the index-pattern and index-regexp values from the XML source metadata, and the tenant prefix is included in index pattern and regexp strings.
Example
The following table illustrates the effect of specifying a tenant prefix, where the source type is sdr and the source ID is sdr0.
[elasticsearch-sdr0].g:tenant-prefix | index-pattern | index-regexp |
---|---|---|
Not defined | ‘sdr’-yyyy.MM.dd | sdr-* |
-my-tenant | ’sdr-my-tenant’-yyyy.MM.dd | sdr-my-tenant-* |
rest:max-content-length
Default Value: 100 MB
Valid Values: A positive integer, with or without a suffix specifying the unit of measure (B|KB|MB|GB)
Changes Take Effect: At the next run of Job_TransformGIM
Dependencies: None
Introduced: 8.5.014.26
Specifies the maximum size of the buffer holding the response to an Elasticsearch REST request. If the body of the response exceeds max-content-length, the HTTP Client throws org.apache.http.ContentTooLongException.
When you define the buffer size, use one of the following suffixes to specify the unit of measure:
- B = bytes
- KB = kilobytes
- MB = megabytes
- GB = gigabytes
- If you do not specify a unit suffix, bytes are used.
sources:extra
Default Value: None
Valid Values: A comma-separated list of any valid identifiers (IDs) of the data sources for the Elasticsearch database
Changes Take Effect: On the next ETL cycle
Dependencies: None
Introduced: 8.5.011.14
In an environment where a single Elasticsearch database stores data from multiple sources, this option enables you to configure a number of data sources in a single section. Specify the ID of the main data source as the suffix in the section name, such as sdr1 in elasticsearch-sdr1. Specify IDs of any additional data sources as a comma-separated list in the option value. Do not list an ID for the same data source more than once, whether explicitly or implicitly. For example, for Genesys Info Mart to retrieve the data that sdr1, ocs1, and ocs2 data sources store on node1 of the ElasticSearch cluster, add the following configuration:
Example:
- [elasticsearch-sdr1]
- sources:extra=ocs1,ocs2
- client=rest(http://node1:9200)
When multiple elasticsearch-* sections are configured, ensure unique reference to a given data source ID across all the sections, to avoid an InvalidConfiguration exception and a failure of the ElasticSearch step and transformation job. For instance, specifying the sdr2 data source twice, as in the example below, one time in a dedicated section and the other as an additional data source, is treated as incorrect configuration.
- Incorrect configuration:
- [elasticsearch-sdr1]
- sources:extra=sdr2
- client=rest(http://node1:9200)
- [elasticsearch-sdr2]
- client=rest(http://node2:9200)