Query your data using familiar SQL or intuitive Piped Processing Language (PPL) https://opensearch.org/docs/latest/search-plugins/sql/index/
  • Java 96.5%
  • ANTLR 2.6%
  • Python 0.5%
  • JavaScript 0.3%
  • Shell 0.1%
Find a file
Andriy Redko be527b55bc
Force snakeyaml_engine version (#5762)
Signed-off-by: Andriy Redko <drreta@gmail.com>
2026-09-10 19:25:57 -07:00
.claude [BugFix] Fix chained streamstats with window causing NPE (#4800) (#5359) 2026-04-23 19:34:14 +08:00
.github feat: PPL OpenTelemetry tracing integration (#5708) 2026-08-24 15:28:34 -07:00
api feat(sql): support UNION (dedup) on the analytics-engine route (#5741) 2026-09-03 10:41:21 -07:00
async-query Add ci.opensearch.org maven2 mirror to avoid throttling (sql) (#5478) 2026-05-27 20:15:13 -04:00
async-query-core fix lychee (#5451) 2026-06-24 10:48:37 -07:00
benchmarks fix lychee (#5451) 2026-06-24 10:48:37 -07:00
build-tools Integ Test Refactoring (#1383) (#1393) 2023-03-07 14:59:04 -08:00
buildSrc Add ci.opensearch.org maven2 mirror to avoid throttling (sql) (#5478) 2026-05-27 20:15:13 -04:00
common Carry the partial_result override off ThreadContext so it survives the security handoff (#5758) 2026-09-10 13:45:04 -07:00
core Carry the partial_result override off ThreadContext so it survives the security handoff (#5758) 2026-09-10 13:45:04 -07:00
datasources Migrate to Jackson 3.x APIs (#5703) 2026-08-24 09:45:33 -07:00
direct-query Migrate to Jackson 3.x APIs (#5703) 2026-08-24 09:45:33 -07:00
direct-query-core Migrate to Jackson 3.x APIs (#5703) 2026-08-24 09:45:33 -07:00
docs [BugFix] Shadow stale mapped leaves when an override replaces an object parent (#5718) (#5726) 2026-09-08 12:42:25 -07:00
doctest Add a generic, extensible rest-endpoint provider SPI (#5656) 2026-08-04 09:11:39 -07:00
gradle/wrapper chore: Bump Gradle wrapper to 9.4.1 and exclude @Ignore classes (#5414) 2026-05-06 21:37:46 -07:00
integ-test Carry the partial_result override off ThreadContext so it survives the security handoff (#5758) 2026-09-10 13:45:04 -07:00
language-grammar Add SQL histogram and date_histogram bucket functions (#5700) 2026-08-20 16:44:59 -07:00
legacy Migrate to Jackson 3.x APIs (#5703) 2026-08-24 09:45:33 -07:00
opensearch Carry the partial_result override off ThreadContext so it survives the security handoff (#5758) 2026-09-10 13:45:04 -07:00
plugin Carry the partial_result override off ThreadContext so it survives the security handoff (#5758) 2026-09-10 13:45:04 -07:00
ppl Carry the partial_result override off ThreadContext so it survives the security handoff (#5758) 2026-09-10 13:45:04 -07:00
ppl-rest-spi Add a generic, extensible rest-endpoint provider SPI (#5656) 2026-08-04 09:11:39 -07:00
prometheus Migrate to Jackson 3.x APIs (#5703) 2026-08-24 09:45:33 -07:00
protocol Add an opt-in partial-result mode for aggregations on text/keyword mapping conflicts (#5657) 2026-09-01 14:23:10 -07:00
release-notes Remove reverted rest command from 3.8 release notes (#5654) (#5655) 2026-07-24 15:32:56 -07:00
scripts feature(ci): validate PPL linter compatibility across grammar surfaces (#5678) 2026-08-07 08:50:00 -07:00
spark [v3.0.0] Remove SparkSQL support (#3306) 2025-02-10 09:29:52 -08:00
sql feat(sql): support UNION (dedup) on the analytics-engine route (#5741) 2026-09-03 10:41:21 -07:00
.codecov.yml Merge develop into main (#142) 2021-06-25 17:47:21 -07:00
.gitignore feat: complex query thread pool (#5628) 2026-07-28 09:18:57 -07:00
.lycheeignore fix lychee (#5451) 2026-06-24 10:48:37 -07:00
.pre-commit-config.yaml Spotless precommit: apply instead of check (#4320) 2025-09-17 16:22:08 -07:00
.whitesource Update mend config to allow remediation (#5287) 2026-03-30 12:17:53 -07:00
ADMINS.md Merge develop into main (#142) 2021-06-25 17:47:21 -07:00
build.gradle Force snakeyaml_engine version (#5762) 2026-09-10 19:25:57 -07:00
CLAUDE.md Add PPL bugfix skill for Claude Code (#5307) 2026-04-10 10:58:01 +08:00
CLAUDE_GUIDE.md [BugFix] Fix bin/chart NPE with null values (#5174) (#5334) 2026-04-13 13:10:32 +08:00
CODE_OF_CONDUCT.md OpenSearch Readiness: SQL/PPL, JDBC, ODBC (#8) 2021-04-16 22:08:52 -07:00
CONTRIBUTING.md Bumps version to 1.2 (#254) 2021-11-04 16:12:35 -07:00
CONTRIBUTORS.md Adding our awesome contributors (#463) 2020-05-11 12:53:40 -07:00
DEVELOPER_GUIDE.rst Migrate PPL Documentation from RST to Markdown (#4912) 2025-12-09 13:52:42 -08:00
gradle.properties Add gradle.properties file to build sql with -Pcrypto.standard=FIPS=140-3 by default (#5231) 2026-03-17 09:54:04 -07:00
gradlew [3.4.0] Bump Gradle to 9.2.0 and GitHub Action JDK to 25 (#4824) 2025-11-20 14:48:18 +08:00
gradlew.bat [3.4.0] Bump Gradle to 9.2.0 and GitHub Action JDK to 25 (#4824) 2025-11-20 14:48:18 +08:00
LICENSE.txt OpenSearch Readiness: SQL/PPL, JDBC, ODBC (#8) 2021-04-16 22:08:52 -07:00
lombok.config Change the default response format to JDBC. (#334) 2020-01-06 09:01:33 -08:00
MAINTAINERS.md Move some maintainers from active to Emeritus (#5260) 2026-03-24 14:49:21 -07:00
NOTICE Add patterns and grok command (#813) 2022-09-30 09:41:52 -07:00
README.md fix lychee (#5451) 2026-06-24 10:48:37 -07:00
RELEASING.md Merge develop into main (#142) 2021-06-25 17:47:21 -07:00
SECURITY.md Updating security reachout email (#2671) 2024-05-14 10:06:47 -07:00
settings.gradle Add a generic, extensible rest-endpoint provider SPI (#5656) 2026-08-04 09:11:39 -07:00
THIRD-PARTY [Feature] Add grammar bundle generation API for PPL language features (#5162) 2026-03-20 14:31:56 -07:00

OpenSearch SQL

OpenSearch enables you to extract insights out of OpenSearch using the familiar SQL or Piped Processing Language (PPL) query syntax. Use aggregations, group by, and where clauses to investigate your data. Read your data as JSON documents or CSV tables so you have the flexibility to use the format that works best for you.

The following projects are related to the SQL plugin, but stored in the different repos. Please refer to links below for details. This document will focus on the SQL plugin for OpenSearch.

Code Summary

SQL Engine

Test and build [![SQL CI][sql-ci-badge]][sql-ci-link]
Code coverage codecov
Distribution build tests OpenSearch IT tests OpenSearch IT code
Backward compatibility tests BWC tests

Repository Checks

DCO Checker [![Developer certificate of origin][dco-badge]][dco-badge-link]
Link Checker Link Checker

Issues

good first issues open
features open
enhancements open
bugs open
untriaged open
nolabel open

Highlights

Besides basic filtering and aggregation, OpenSearch SQL also supports complex queries, such as querying semi-structured data, JOINs, set operations, sub-queries etc. Beyond the standard functions, OpenSearch functions are provided for better analytics and visualization. Please check our documentation for more details.

Recently we have been actively improving our query engine primarily for better correctness and extensibility. Behind the scene, the new enhanced engine has already supported both SQL and Piped Processing Language. Please find more details in SQL Engine V2 - Release Notes.

Documentation

Please refer to the SQL Language Reference Manual, Piped Processing Language (PPL) Reference Manual, OpenSearch SQL/PPL Engine Development Manual and Technical Documentation for detailed information on installing and configuring plugin.

Forum

For additional help with the plugin, including questions about opening an issue, visit the OpenSearch Forum.

Contributing

See developer guide and how to contribute to this project.

Attribution

This project is based on the Apache 2.0-licensed elasticsearch-sql project. Thank you eliranmoyal, shi-yuan, ansjsun and everyone else who contributed great code to that project. Read this for more details Attributions.

Code of Conduct

This project has adopted an Open Source Code of Conduct.

Security

If you discover a potential security issue in this project we ask that you notify OpenSearch Security directly via email to security@opensearch.org. Please do not create a public GitHub issue.

License

See the LICENSE file for our project's licensing. We will ask you to confirm the licensing of your contribution.

Copyright OpenSearch Contributors. See NOTICE for details.