Intro to Elasticsearch
Configuration updates
To enable Kafka indexing strategy, the previous configuration parameterflowx.use-elasticsearch is being replaced. However, to ensure backward compatibility, it will still be preserved in the configuration. Below is an example of how to configure it:
flowx.indexing.enabled property determines whether indexing with Elasticsearch is enabled. When set to false or missing, no indexing will be performed for any entities defined below. When set to true, indexing with Elasticsearch is enabled.
If the FlowX indexing configuration is set to false, the following configuration information and guidelines are not applicable to your use case.
flowx.indexing.processInstance.indexing-type property defines the indexing strategy for process instances. It can have one of the following values:
- no-indexing: No indexing will be performed for process instances.
- http: Direct connection from the process engine to Elasticsearch through HTTP calls.
- Kafka: Data will be sent to be indexed via a Kafka topic using the new strategy. To implement this strategy, the Kafka Connect with Elasticsearch Sink Connector must be deployed in the infrastructure.
Configuration steps
To enable indexing with Elasticsearch for the entire application, update the process-engine configuration with the following parameters:FLOWX_INDEXING_ENABLED: Set this parameter totrueto enable indexing with Elastisearch for the entire application.
FLOWX_INDEXING_PROCESSINSTANCE_INDEXING_TYPE: Set this parameter tokafkato use the Kafka transport strategy for indexing process instances.
FLOWX_INDEXING_PROCESSINSTANCE_INDEX_NAME: Specify the name of the index used for process instances.
FLOWX_INDEXING_PROCESSINSTANCE_SHARDS: Set the number of shards for the index.
FLOWX_INDEXING_PROCESSINSTANCE_REPLICAS: Set the number of replicas for the index.
For Kafka indexing, the Kafka Connect with Elasticsearch Sink Connector must be deployed in the infrastructure.
Configuration examples
Kafka Connect
- Assumes kafka cluster installed with strimzi operator and Elasticsearch with eck-operator
- Can save the image built by kafka connect to a local registry and comment build section
Kafka Elasticsearch Connector
HTTP indexing
Querying Elasticsearch
To read from multiple indices, queries in Elasticsearch have been updated. The queries now run against an index pattern that identifies multiple indices instead of a single index. The index pattern is derived from the value defined in the configuration property:flowx.indexing.processInstance.index-name
Kafka topics - process events messages
This topic is used for sending the data to be indexed from Process engine. The data from this topic will be read by Kafka Connect.- Key:
${kafka.topic.process.index.out} - Value:
${kafka.topic.naming.prefix}.core.index.process${kafka.topic.naming.suffix}
The topic name, defined in the value, will be used by Kafka Connect as source for the messages to be sent to Elasticsearch for indexing.The attribute
indexLastUpdatedTime is new and will be populated for the kafka-connect strategy. This will tell the timestamp when the last operation was done on the object in the index.รElasticsearch update (index template)
The mappings between messages and Elasticsearch data types need to be specified. This is achieved through an index template created by the process engine during startup. The template applies to indices starting with the value defined inflowx.indexing.processInstance.index-name config. Hereโs an example of the index template:

