Compatibility #

Versions #

Kuzzle2.61 or later, within Kuzzle 2 (kuzzleVersion in manifest.json)
Elasticsearch9.x (tested on 9.0.8 and 9.5.5)
Elasticsearch client@elastic/elasticsearch 9.5.1
Node.js22.12 or later

At startup, Kuzzle reads the driver's manifest.json before loading it, and does not start when its version is out of the kuzzleVersion range. The driver then refuses an Elasticsearch cluster outside 9.x (older than 9.0.0, or 10.0.0 and later), and an OpenSearch cluster.

Kuzzle does not pin this driver: you choose its version in your application's package.json.

Capabilities #

A driver lists the optional features it implements in the capabilities field of its manifest. This one declares them all, so every Kuzzle API action works:

CapabilityFeature
aggregationsaggregations / aggs in a search body
mappingUpdateschanging the mappings or the settings of an existing collection, including the users' mappings
statsstorage statistics (index:stats)
updateByQueryupdating every document matching a query (document:updateByQuery, bulk:updateByQuery)

Clusters #

Every node of a Kuzzle cluster must run the same driver, in the same version: a node running another one is refused when it joins, with a cluster.join.storage_driver_mismatch error.

Upgrading the driver means restarting every node on the new version, not a rolling restart.