The Only Complete SQL Suite for Elasticsearch
DDL • DML • DQL • Materialized Views • JDBC • Arrow Flight SQL
Query, manage, and integrate Elasticsearch with familiar SQL.
curl -fsSL https://raw.githubusercontent.com/SOFTNETWORK-APP/SoftClient4ES/main/scripts/install.sh | bash
softclient4es --host localhost --port 9200 SQL for Every Role
One suite, three perspectives — each team finds what they need.
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
-- 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; 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
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'; 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
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: YesDML (INSERT/UPDATE/DELETE)
SoftClient4ES: YesWindow functions
SoftClient4ES: YesMaterialized Views
SoftClient4ES: Yes (ES 7.5+)JDBC Driver
SoftClient4ES: Type 4Arrow Flight SQL
SoftClient4ES: YesADBC Driver
SoftClient4ES: YesLicensing: 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.