You're viewing version 1.0 of the OpenSearch documentation. This version is no longer maintained. For the latest version, see the current documentation. For information about OpenSearch version maintenance, see Release Schedule and Maintenance Policy.
SQL
OpenSearch SQL lets you write queries in SQL rather than the OpenSearch query domain-specific language (DSL). If you’re already familiar with SQL and don’t want to learn the query DSL, this feature is a great option.
Workbench
The easiest way to get familiar with the SQL plugin is to use Query Workbench in OpenSearch Dashboards to test various queries. To learn more, see Workbench.
REST API
To use the SQL plugin with your own applications, send requests to _plugins/_sql
:
POST _plugins/_sql
{
"query": "SELECT * FROM my-index LIMIT 50"
}
Here’s how core SQL concepts map to OpenSearch:
SQL | OpenSearch |
---|---|
Table | Index |
Row | Document |
Column | Field |
You can query multiple indices by listing them or using wildcards:
POST _plugins/_sql
{
"query": "SELECT * FROM my-index1,myindex2,myindex3 LIMIT 50"
}
POST _plugins/_sql
{
"query": "SELECT * FROM my-index* LIMIT 50"
}
For a sample curl command, try:
curl -XPOST https://localhost:9200/_plugins/_sql -u 'admin:admin' -k -H 'Content-Type: application/json' -d '{"query": "SELECT * FROM opensearch_dashboards_sample_data_flights LIMIT 10"}'
By default, queries return data in JDBC format, but you can also return data in standard OpenSearch JSON, CSV, or raw formats:
POST _plugins/_sql?format=json|csv|raw
{
"query": "SELECT * FROM my-index LIMIT 50"
}
See the rest of this guide for detailed information on request parameters, settings, supported operations, tools, and more.
Contributing
To get involved and help us improve the SQL plugin, see the development guide for instructions on setting up your development environment and building the project.