# nlpchina/elasticsearch-sql

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/nlpchina-elasticsearch-sql).**

7,012 stars · 1,530 forks · Java · Apache-2.0

## Links

- GitHub: https://github.com/NLPchina/elasticsearch-sql
- awesome-repositories: https://awesome-repositories.com/repository/nlpchina-elasticsearch-sql.md

## Description

This project provides a SQL interface for Elasticsearch, serving as a translator and database layer that allows users to retrieve, filter, and manipulate indices using structured query language. It functions by converting standard SQL statements into the native JSON query language used by the search engine.

The system includes a geospatial SQL engine for executing location-based searches and distance calculations. It also features a query debugger used to visualize the translation process from SQL to search engine request bodies to verify the logic and accuracy of data retrieval.

The capability surface covers data retrieval and record management, including the deletion of specific data entries. It further supports data analysis through large-scale aggregations, statistical summaries, and data transformations using conditional logic and mathematical functions.

## Tags

### Data & Databases

- [Native Query Translation](https://awesome-repositories.com/f/data-databases/sql-query-execution-engines/native-query-translation.md) — Translates structured SQL statements into the native JSON query language used by the search engine. ([source](https://github.com/nlpchina/elasticsearch-sql#readme))
- [Schema Mapping](https://awesome-repositories.com/f/data-databases/data-governance-modeling/data-modeling-schemas/schema-mapping.md) — Matches SQL table and column identifiers to specific search engine indices and field names.
- [Elasticsearch Connectors](https://awesome-repositories.com/f/data-databases/database-connectivity/elasticsearch-connectors.md) — Provides a database layer for retrieving, filtering, and manipulating Elasticsearch indices using SQL.
- [SQL Data Analysis](https://awesome-repositories.com/f/data-databases/database-connectivity/elasticsearch-connectors/sql-data-analysis.md) — Performs aggregations and statistical summaries on large datasets using SQL to gain insights from stored information.
- [Dataset Aggregations](https://awesome-repositories.com/f/data-databases/dataset-aggregations.md) — Produces grouped results and statistical insights from large datasets using SQL aggregation functions. ([source](https://github.com/nlpchina/elasticsearch-sql#readme))
- [Search-Oriented SQL Engines](https://awesome-repositories.com/f/data-databases/distributed-sql-databases/search-oriented-sql-engines.md) — Implements a query interface for executing location-based searches and distance calculations using SQL extensions.
- [Dynamic SQL Generators](https://awesome-repositories.com/f/data-databases/dynamic-sql-generators.md) — Programmatically builds search engine request bodies at runtime based on parsed SQL expressions.
- [Geospatial and Location Services](https://awesome-repositories.com/f/data-databases/geospatial-data-services/geospatial-and-location-services.md) — Executes location-based queries using bounding box checks, distance calculations, and geohash grid aggregations. ([source](https://github.com/nlpchina/elasticsearch-sql#readme))
- [SQL Geospatial Analysis](https://awesome-repositories.com/f/data-databases/geospatial-data-services/geospatial-and-location-services/sql-geospatial-analysis.md) — Executes location-based searches and distance calculations on spatial data using SQL extensions.
- [Geospatial Query Mapping](https://awesome-repositories.com/f/data-databases/geospatial-query-mapping.md) — Translates standard SQL spatial functions into specialized geographic query filters and distance calculations.
- [Geospatial Search](https://awesome-repositories.com/f/data-databases/geospatial-search.md) — Retrieves data based on coordinate locations and spatial relationships using specialized search extensions. ([source](https://github.com/nlpchina/elasticsearch-sql#readme))
- [Search-Oriented SQL Interfaces](https://awesome-repositories.com/f/data-databases/search-oriented-sql-interfaces.md) — Provides a standard SQL syntax to retrieve and filter data from Elasticsearch indices.
- [SQL Data Retrieval](https://awesome-repositories.com/f/data-databases/sql-data-retrieval.md) — Provides the ability to retrieve, filter, sort, and group data from indices using standard SQL syntax. ([source](https://github.com/nlpchina/elasticsearch-sql#readme))
- [Data Transformation Functions](https://awesome-repositories.com/f/data-databases/data-transformation-functions.md) — Provides conditional logic, string manipulation, and mathematical functions to reshape data for final delivery. ([source](https://github.com/nlpchina/elasticsearch-sql#readme))
- [Grouped Aggregations](https://awesome-repositories.com/f/data-databases/grouped-aggregations.md) — Maps SQL grouping and summary functions to nested aggregation buckets for large-scale data analysis.
- [Query Middleware](https://awesome-repositories.com/f/data-databases/query-middleware.md) — Acts as an intermediary layer that intercepts SQL requests and forwards translated queries to the search cluster.
- [Query Translators](https://awesome-repositories.com/f/data-databases/query-translators.md) — Translates SQL statements into native search engine queries to verify the logic and accuracy of data retrieval.

### Development Tools & Productivity

- [Query Translation Debuggers](https://awesome-repositories.com/f/development-tools-productivity/query-translation-debuggers.md) — Provides a utility for visualizing the translation process from SQL statements to search engine request bodies.

### Part of an Awesome List

- [More to explore](https://awesome-repositories.com/f/awesome-lists/more/more-to-explore.md) — Plugin to query Elasticsearch using SQL syntax.
