ES 6 • ES 7 • ES 8 • ES 9 — One SQL Interface

The Only Complete SQL Suite for Elasticsearch

DDL • DML • DQL • Materialized Views • JDBC • Arrow Flight SQL
Query, manage, and integrate Elasticsearch with familiar SQL.

Terminal
curl -fsSL https://raw.githubusercontent.com/SOFTNETWORK-APP/SoftClient4ES/main/scripts/install.sh | bash
softclient4es --host localhost --port 9200
Apache 2.0 ES 6 – 9 Scala 2.12 / 2.13 Arrow Flight SQL

SQL for Every Role

One suite, three perspectives — each team finds what they need.

Data Engineers

Build Pipelines, Not JSON

Ingest, transform, and materialize data across Elasticsearch indices using standard SQL — no custom scripts, no REST API gymnastics.

  • DML — INSERT, UPDATE, DELETE with SQL expressions
  • COPY INTO — bulk load from S3, local files (JSON, CSV, Parquet)
  • Materialized Views — cross-index JOINs that ES can’t do natively
  • Arrow Flight SQL — columnar streaming, 10–100x faster for analytics
Data Pipeline in SQL COPY INTO + MV
-- Ingest from S3
COPY INTO raw_events
FROM 's3://lake/events.parquet'
FORMAT PARQUET;

-- Materialize a cross-index JOIN
CREATE MATERIALIZED VIEW
  order_details AS
SELECT o.id, c.name, SUM(o.amount)
FROM orders o
JOIN customers c
  ON o.customer_id = c.id
GROUP BY o.id, c.name;
Data Analysts

Connect Your BI Tools

Query Elasticsearch with the SQL you already know. Connect Superset, Grafana, Tableau, or DBeaver — no Elasticsearch expertise required.

  • JDBC Type 4 — plug into any JDBC-compatible BI tool
  • Window functions — AVG OVER, FIRST_VALUE, ARRAY_AGG
  • Multi-nested queries — navigate complex ES mappings naturally
  • Materialized Views — query pre-joined, pre-aggregated data instantly
  • ADBC — Arrow-native driver for DuckDB, Pandas, Polars
Analytics Query Window Functions
SELECT name, department, salary,
  AVG(salary) OVER (
    PARTITION BY department
  ) AS dept_avg,
  FIRST_VALUE(name) OVER (
    PARTITION BY department
    ORDER BY salary DESC
  ) AS top_earner
FROM employees
WHERE hire_date > '2024-01-01';
Platform / DevOps

Manage Schemas with SQL

CREATE, ALTER, DROP indices with familiar DDL. One unified API across ES 6 through 9 — no version-specific JSON mappings.

  • DDL — CREATE TABLE, ALTER TABLE, DROP TABLE
  • GatewayApi — one interface for ES 6, 7, 8, and 9
  • Interactive REPL — explore, debug, and manage from the terminal
  • No ES license required — Apache 2.0 core, external client
Schema Management DDL
CREATE TABLE users (
  id KEYWORD,
  name TEXT,
  email KEYWORD,
  age INTEGER,
  created_at DATE,
  PRIMARY KEY (id)
);

ALTER TABLE users
  ADD COLUMN status KEYWORD;

-- Explore from the REPL
SHOW TABLES;
DESCRIBE users;

How We Compare

Key differentiators at a glance.

DDL (CREATE/ALTER/DROP)

SoftClient4ES: Yes
Elastic SQL:No
CData:Limited
NLPchina:No
Trino ES:No
OpenSearch:No

DML (INSERT/UPDATE/DELETE)

SoftClient4ES: Yes
Elastic SQL:No
CData:Yes
NLPchina:No
Trino ES:No
OpenSearch:No

Window functions

SoftClient4ES: Yes
Elastic SQL:No
CData:No
NLPchina:No
Trino ES:Yes
OpenSearch:No

Materialized Views

SoftClient4ES: Yes (ES 7.5+)
Exclusive
Elastic SQL:No
CData:No
NLPchina:No
Trino ES:No
OpenSearch:No

JDBC Driver

SoftClient4ES: Type 4
Elastic SQL:Paid
CData:Yes
NLPchina:No
Trino ES:Via Trino
OpenSearch:Yes

Arrow Flight SQL

SoftClient4ES: Yes
Elastic SQL:No
CData:No
NLPchina:No
Trino ES:Via Trino
OpenSearch:No

ADBC Driver

SoftClient4ES: Yes
Exclusive
Elastic SQL:No
CData:No
NLPchina:No
Trino ES:No
OpenSearch:No

Licensing: SoftClient4ES core is Apache 2.0. Extensions (Materialized Views, JDBC, ADBC, Arrow Flight SQL) are Elastic v2 license.

Ready to Query Elasticsearch with SQL?

Install in seconds. Connect your BI tools. Manage schemas with familiar SQL.