Skip to content

DBeaver

DBeaver connects to Elasticsearch using either the JDBC driver or the Arrow Flight SQL protocol. DBeaver is a Tested tool — both connection paths are exercised against SoftClient4ES.

Some advanced SQL (subqueries, CTEs) is not in this release yet — see Known Limitations.

Option 1: JDBC Driver

1. Register the Driver

  1. Open Database > Driver Manager
  2. Click New
  3. Fill in:
    • Driver Name: SoftClient4ES
    • Driver Type: Generic
    • Class Name: app.softnetwork.elastic.jdbc.ElasticDriver
    • URL Template: jdbc:elastic://{host}:{port}
  4. In the Libraries tab, click Add File and select the fat JAR:
    • softclient4es8-jdbc-driver-0.2.4.jar (for ES 8.x)
  5. Click OK

2. Create a Connection

  1. Open Database > New Database Connection
  2. Select the SoftClient4ES driver
  3. Fill in:
    • Host: localhost
    • Port: 9200
  4. If using authentication, go to the Driver Properties tab and set:
    • user = your username
    • password = your password
  5. Click Test Connection to verify
  6. Click Finish

3. Execute SQL

Open a SQL editor and run queries:

SHOW TABLES;
SELECT * FROM my_index LIMIT 10;
DESCRIBE TABLE my_index;

Option 2: Arrow Flight SQL

DBeaver also supports Arrow Flight SQL connections.

1. Install the Flight SQL Plugin

  1. Go to Database > Driver Manager
  2. Search for Apache Arrow Flight SQL
  3. Install if not already present

2. Create a Connection

  1. Open Database > New Database Connection
  2. Select Apache Arrow Flight SQL
  3. Set the URL: grpc://localhost:32010
  4. Click Test Connection then Finish

Cross-index JOIN

This is the superpower of this release: Elasticsearch SQL can’t JOIN across indices — SoftClient4ES does. Open a SQL editor and join two indices in one query:

SELECT e.name, e.salary, d.dept_name
FROM jdbc_join_emp e
JOIN jdbc_join_dept d ON e.dept_id = d.dept_id;
-- 5 rows (the orphan employee with dept_id=99 is dropped by the INNER JOIN)

DBeaver runs this over either connection (JDBC or Arrow Flight SQL) and returns the joined rows in the results grid.

For the full JOIN matrix (INNER / LEFT / RIGHT / FULL / cross-cluster) and how each maps to Elasticsearch, see the Cross-Index JOIN walkthrough. JOIN depth and cluster count are metered — see Pricing.

DBeaver SQL editor showing a cross-index JOIN result between jdbc_join_emp and jdbc_join_dept

Screenshot coming in a follow-up release. Captured with DBeaver against SoftClient4ES 0.2.1 (JDBC), 2026-07.

Supported Features

Both JDBC and Arrow Flight SQL connections support:

  • Full DDL (CREATE/ALTER/DROP TABLE, pipelines, watchers, enrich policies)
  • Full DML (INSERT, UPDATE, DELETE, COPY INTO)
  • Full DQL (SELECT with all supported clauses)
  • SHOW/DESCRIBE commands
  • Schema browsing in the database navigator

Known limitations

Subqueries, CTEs (WITH), and set operators beyond UNION ALL are not in this release. See Known Limitations & Roadmap for exactly what works today, what’s coming in the next release (Quarter 4 2026), and the per-tool workaround.