Unomi 3 · Operations
Elasticsearch 9 and OpenSearch in Unomi 3
One CDP runtime, two supported search backends — pick the distribution that matches your ops constraints.
Unomi 3 modernized the search tier on both sides of the fork. Elasticsearch moved to the 9.x Java API client (the legacy High Level REST Client path is gone), and UNOMI-828 / #715 made OpenSearch a first-class persistence module with its own distribution packaging.
Capabilities
- Dual distributions —
unomi-distribution-elasticsearchandunomi-distribution-opensearch - Shared PersistenceService SPI — profiles, events, segments, rules, clustering, and the task scheduler stay on the same application paths
- Elasticsearch 9 Java API client — HLRC retired; config prefix
org.apache.unomi.elasticsearch.* - OpenSearch module —
persistence-opensearch; config prefixorg.apache.unomi.opensearch.*(addresses, cluster name, credentials, SSL, index prefix) - Build flags — Maven /
build.sh --use-opensearch; IT matrix can run either engine - Docker / env —
UNOMI_DISTRIBUTION=...selects packaging - Migration guide — documented ES → OpenSearch path (index naming, clients, verification)
- Version pins in 3.1 — Elasticsearch 9.4.x line and OpenSearch 3.7.x companion pins in the reactor
What you choose
- Elasticsearch —
persistence-elasticsearch, config prefixorg.apache.unomi.elasticsearch.*(addresses, cluster name, credentials, SSL, index prefix) - OpenSearch —
persistence-opensearch, config prefixorg.apache.unomi.opensearch.*with the same conceptual shape
Both implement the Unomi PersistenceService SPI, so profiles, events, segments, rules, clustering, and the task scheduler stay on the same application paths.
Build and run flavors
# Maven / build.sh
./build.sh
./build.sh --use-opensearch
./build.sh --integration-tests --use-opensearch
# Docker distribution hint
UNOMI_DISTRIBUTION=unomi-distribution-elasticsearch
UNOMI_DISTRIBUTION=unomi-distribution-opensearch
Migrating engines
Moving an existing deployment from Elasticsearch to OpenSearch is documented as its own migration path (index naming, client settings, verification). Start from Migrate from Elasticsearch to OpenSearch in the Unomi 3 manual.
Why it matters
Regulated and cloud-restricted environments often need an OpenSearch footprint; others stay on Elasticsearch. Unomi 3 stops treating that as a fork of the product — it is a packaging and configuration choice on a shared SPI, alongside the platform foundation upgrade (Java 17, Karaf 4.4, persistence clustering).