DbSchema lets you design, manage, and document Elasticsearch databases. Create ER diagrams, define tables and columns, and generate SQL scripts - with or without a live database connection.
Use Git to share the design, compare it with the Elasticsearch database, and deploy changes. DbSchema also includes a data editor, query builder, and HTML5 documentation - everything you need in one tool.
Download DbSchema Download Elasticsearch JDBC Driver
Elasticsearch stores documents in indices, and each index has a mapping that defines field names, data types, analyzer configurations, and nested object structures. While Elasticsearch is primarily a search engine, its SQL interface — available from the Basic license tier upward — allows standard SQL queries against index data. DbSchema treats each Elasticsearch index as a table, visualizes field mappings as a schema diagram, and provides SQL and data exploration tools for Elasticsearch environments.
Elasticsearch field types — keyword, text, nested,
geo_point, dense_vector, and others — determine how documents are
indexed and queried. DbSchema reads the mapping from the Elasticsearch REST API and displays
each index's field structure, including nested object hierarchies, giving engineers a clear
picture of the data model without reading raw mapping JSON.
The DbSchema data explorer fetches documents from Elasticsearch indices and displays them in a tabular format. You can apply field filters to narrow the result set, paginate through large indices, and inspect individual field values — all without writing DSL queries or using the Kibana Discover interface.
DbSchema generates HTML documentation from the Elasticsearch mapping, capturing index names, field types, analyzer assignments, and nested structures as human-readable reference material. For teams managing dozens of indices across environments, this documentation provides an accessible overview of the full data model without requiring Elasticsearch API knowledge.
DbSchema connects to Elasticsearch using the Elasticsearch JDBC driver, available from Elastic's
download page. The default HTTP port is 9200. The JDBC URL format is
jdbc:es://http://host:9200. The Elasticsearch SQL feature must be enabled —
it is included in the Basic license tier and above with no additional configuration required.
For Elasticsearch Service on Elastic Cloud, use the HTTPS cluster endpoint URL and supply your
API key as the password in the connection dialog. Self-signed certificates require adding the
Elasticsearch CA certificate to the Java truststore before connecting.