SoftClient4ES supports Elasticsearch versions 6 through 9 with version-specific client libraries.
Client Library Matrix
| Elasticsearch | Client Library | Scala | JDK |
|---|
| ES 6.x | softclient4es6-rest-client | 2.12, 2.13 | 8+ |
| ES 7.x | softclient4es7-rest-client | 2.12, 2.13 | 8+ |
| ES 8.x | softclient4es8-java-client | 2.12, 2.13 | 8+ |
| ES 9.x | softclient4es9-java-client | 2.13 only | 17+ |
JDBC Driver Matrix
| Elasticsearch | Artifact | JDK |
|---|
| ES 6.x | softclient4es6-jdbc-driver | 8+ |
| ES 7.x | softclient4es7-jdbc-driver | 8+ |
| ES 8.x | softclient4es8-jdbc-driver | 8+ |
| ES 9.x | softclient4es9-jdbc-driver | 17+ |
JDBC driver JARs are Scala-version-independent and include all dependencies.
Arrow Flight SQL Server Matrix
| Elasticsearch | Docker Image |
|---|
| ES 6.x | softnetwork/softclient4es6-arrow-flight-sql:latest |
| ES 7.x | softnetwork/softclient4es7-arrow-flight-sql:latest |
| ES 8.x | softnetwork/softclient4es8-arrow-flight-sql:latest |
| ES 9.x | softnetwork/softclient4es9-arrow-flight-sql:latest |
REPL Client Matrix
| Elasticsearch | Artifact | JDK |
|---|
| ES 6.x | softclient4es6-cli | 8+ |
| ES 7.x | softclient4es7-cli | 8+ |
| ES 8.x | softclient4es8-cli | 8+ |
| ES 9.x | softclient4es9-cli | 17+ |
Feature Compatibility
DDL Features
| Feature | ES6 | ES7 | ES8 | ES9 |
|---|
| CREATE/ALTER/DROP TABLE | Yes | Yes | Yes | Yes |
| Legacy templates | Yes | Yes | No | No |
| Composable templates | No | Yes | Yes | Yes |
| Partitioning (date_index_name) | Yes | Yes | Yes | Yes |
| Generated scripts (SCRIPT AS) | Yes | Yes | Yes | Yes |
| STRUCT | Yes | Yes | Yes | Yes |
| ARRAY<STRUCT> | Yes | Yes | Yes | Yes |
| Pipelines | Yes | Yes | Yes | Yes |
| Watchers | Yes | Yes | Yes | Yes |
| Enrich Policies | No | Yes* | Yes | Yes |
| Materialized Views | No | Yes* | Yes | Yes |
* Requires ES 7.5+
DML Features
| Feature | ES6 | ES7 | ES8 | ES9 |
|---|
| INSERT | Yes | Yes | Yes | Yes |
| INSERT AS SELECT | Yes | Yes | Yes | Yes |
| UPDATE | Yes | Yes | Yes | Yes |
| DELETE | Yes | Yes | Yes | Yes |
| COPY INTO | Yes | Yes | Yes | Yes |
| JSON / JSON_ARRAY | Yes | Yes | Yes | Yes |
| PARQUET / DELTA_LAKE | Yes | Yes | Yes | Yes |
DQL Features
| Feature | ES6 | ES7 | ES8 | ES9 |
|---|
| SELECT with WHERE/ORDER BY/LIMIT | Yes | Yes | Yes | Yes |
| Nested fields | Yes | Yes | Yes | Yes |
| UNION ALL | Yes | Yes | Yes | Yes |
| JOIN UNNEST | Yes | Yes | Yes | Yes |
| Aggregations (GROUP BY/HAVING) | Yes | Yes | Yes | Yes |
| Window functions | Yes | Yes | Yes | Yes |
| Parent-level nested array aggs | Yes | Yes | Yes | Yes |
| All function families | Yes | Yes | Yes | Yes |
| SHOW/DESCRIBE commands | Yes | Yes | Yes | Yes |
Materialized Views
| Feature | ES6 | ES7 | ES8 | ES9 |
|---|
| Materialized Views | No | Yes* | Yes | Yes |
| WITH SCHEDULE NOW | No | No | Yes | Yes |
* Requires ES 7.5+
Resolvers
To use SoftClient4ES artifacts, add the JFrog repository:
sbt
resolvers += "Softnetwork Releases" at "https://softnetwork.jfrog.io/artifactory/releases/"
resolvers += "Softnetwork Snapshots" at "https://softnetwork.jfrog.io/artifactory/snapshots/"
Maven
<id>softnetwork-releases</id>
<url>https://softnetwork.jfrog.io/artifactory/releases/</url>
Gradle
maven { url "https://softnetwork.jfrog.io/artifactory/releases/" }