FlatQL
Sign in Start free

FlatQL vs Dejavu

FlatQL vs Dejavu for Elasticsearch

Dejavu is a browser-based data viewer and editor for Elasticsearch and OpenSearch. FlatQL is a SQL workbench for the same clusters. This page sets out what each one does so you can pick the right tool for the job in front of you.

Dejavu, from the team behind ReactiveSearch (GitHub handle appbaseio), describes itself as "a modern web UI for OpenSearch and Elasticsearch" (README). Its job is to show you documents in a spreadsheet-like grid, let you filter and sort them, edit or delete them, and import new ones from CSV or JSON. FlatQL's job is different: you write SQL against indices, the cluster does the filtering and grouping, an embedded engine does joins and window functions, and the result goes to a grid, a chart or an export file. One is a data browser with editing; the other is a query workbench.

Side by side#

Dejavu FlatQL
Licence MIT (repo) Proprietary; Free and Pro plans
How it runs Docker image appbaseio/dejavu on port 1358, Compose files for OpenSearch and Elasticsearch 7.x and 8.x, or the hosted app at dejavu.reactivesearch.io (README) Web app, plus a desktop app that is coming soon
Cluster requirement CORS enabled for the Dejavu origin (README) None; HTTP API with your credentials
Query language Filtered views, global search bar, Query DSL for bulk updates (README) SQL; Show as DSL reveals the generated Query DSL
Joins across indices Not described Yes, in the embedded engine
Editing documents Update individually or in bulk via queries, delete (README) No document editing
Import CSV or JSON with guided field mapping (README) CSV, Excel, JSON, NDJSON and JSON APIs into a new index, mapping preview first
Export Filtered views as JSON or CSV (README) CSV, TSV, JSON, NDJSON, Excel, Parquet, streamed up to 5,000,000 rows
Access control Not described in the README Owner, admin, member and named roles with read or write per index pattern
Query history Not described in the README History with user, connection, duration and rows
Latest release 3.10.0, September 2025 (releases) See the changelog
Price Free Free plan; Pro $199 one-time per user (pricing)

What Dejavu does well#

Dejavu is quick to put in front of a cluster. One docker run and you have a grid of documents with column filters, sorting and a search bar across the data, and you can export the filtered view as JSON or CSV (README). Since version 1.5 it has supported bulk updates and filtering through Query DSL, so a fix across many documents is a single action rather than a script. The CSV and JSON importer walks you through field mapping before it writes.

There is also a "Search Preview" mode for building and testing a search UI and exporting the code to CodeSandbox (README). That ties in with ReactiveSearch's search-UI product and is outside anything FlatQL does.

The project is active: the latest tagged release is 3.10.0 from September 2025 and the repository was last pushed in July 2026 (GitHub API). It is not archived.

Where Dejavu is the better fit#

  • You need to correct documents by hand or in bulk. FlatQL does not update or delete documents at all.
  • You want a hosted UI with nothing to run. Dejavu's hosted app connects straight from the browser, provided the cluster allows the origin through CORS.
  • You are building a search front end and want to test relevance and generate UI code.
  • You want an MIT-licensed tool you can fork and keep inside your own stack.

Where FlatQL is the better fit#

  • The question spans two or more indices. FlatQL joins orders to organizations in one statement; the cluster runs the pushable filters, the embedded engine does the join. See joins.
  • You want aggregations without writing aggregation DSL. GROUP BY becomes a composite aggregation or a date histogram on the cluster, and Show as DSL displays what was sent. See pushdown.
  • The export is large. FlatQL streams up to 5,000,000 rows to disk in CSV, TSV, JSON, NDJSON, Excel or Parquet. See export.
  • Several people share the cluster. Connections are shared with credentials encrypted server-side, production connections are read-only by default, and roles limit which index patterns each person can read or write. See teams.
  • You want to know who ran what. Query history records user, connection, duration and row count, and groups similar statements by fingerprint.

A typical FlatQL statement that Dejavu's grid cannot express:

SELECT o.country,
       COUNT(*)      AS orders,
       SUM(r.amount) AS revenue
FROM orders AS r
JOIN organizations AS o ON o.primary_domain = r.customer_id
WHERE r.status = 'paid'
  AND r.placed_at >= '2026-01-01'
GROUP BY o.country
ORDER BY revenue DESC
LIMIT 20;

The WHERE conjuncts on orders are pushed as filters, both indices are fetched up to the engine's cap of about 50,000 rows per index, and the join and final grouping run in the engine. The result panel tells you which parts ran where.

Using both#

Many teams will keep Dejavu for what it is good at and add FlatQL for the analytical work. A reasonable split:

  1. Dejavu for inspecting a handful of documents, patching a field or deleting test data.
  2. FlatQL for reporting queries, joins, exports and anything someone else will need to rerun later.
  3. FlatQL's shared connections for the production cluster, so most people never hold the cluster password at all.

Both need only the HTTP API. Nothing is installed on the cluster by either tool.

If your current tool is a document browser and you are looking across the range of options, the Elasticvue comparison and the elasticsearch-head comparison cover two other popular browsers. For a broader list see Elasticsearch GUI tools.

Note Facts about Dejavu on this page come from its GitHub README and release data as of November 2026. Check the repository for anything newer.

FAQ

Questions

Anything else, write to us.

Is Dejavu free?

Yes. Dejavu is released under the MIT licence and can be run from Docker or used as a hosted app. FlatQL has a Free plan with one cluster and the full SQL engine; see pricing.

Can Dejavu run SQL against Elasticsearch?

Dejavu's README describes filtered views, a search bar and Query DSL for bulk updates, not SQL. FlatQL is built around SQL, including JOINs across indices, window functions and GROUP BY pushed to the cluster.

Does FlatQL edit documents like Dejavu does?

No. FlatQL reads and queries; it does not update or delete individual documents. It can load CSV, Excel, JSON and NDJSON into a new index with a mapping preview.

Do either of them install anything on the cluster?

No. Both talk to the HTTP API. Dejavu needs CORS enabled on the cluster for its origin; FlatQL's backend makes the requests, so no CORS change is needed.

Start on Free. It stays free.

Connect a cluster and run a join in five minutes. No card, no expiry.

Guides

How FlatQL handles the jobs Elasticsearch makes hard.