Query parameters
-
The format for the response. You can also specify a format using the
Accept
HTTP header. If you specify both this parameter and theAccept
HTTP header, this parameter takes precedence.Values are
csv
,json
,tsv
,txt
,yaml
,cbor
, orsmile
.
Body
Required
-
If
true
, the response has partial results when there are shard request timeouts or shard failures. Iffalse
, the API returns an error with no partial results.Default value is
false
. -
The default catalog (cluster) for queries. If unspecified, the queries execute on the data in the local cluster only.
-
If
true
, the results are in a columnar fashion: one row represents all the values of a certain column from the current page of results. The API supports this parameter only for CBOR, JSON, SMILE, and YAML responses.Default value is
false
.External documentation -
The cursor used to retrieve a set of paginated results. If you specify a cursor, the API only uses the
columnar
andtime_zone
request body parameters. It ignores other request body parameters. -
The maximum number of rows (or entries) to return in one response.
Default value is
1000
. -
If
false
, the API returns an exception when encountering multiple values for a field. Iftrue
, the API is lenient and returns the first value from the array with no guarantee of consistent results.Default value is
false
. -
The Elasticsearch query DSL for additional filtering.
External documentation -
If
true
, the search can run on frozen indices.Default value is
false
. -
The retention period for an async or saved synchronous search.
-
If
true
, Elasticsearch stores synchronous searches if you also specify thewait_for_completion_timeout
parameter. Iffalse
, Elasticsearch only stores async searches that don't finish before thewait_for_completion_timeout
.Default value is
false
. -
The minimum retention period for the scroll cursor. After this time period, a pagination request might fail because the scroll cursor is no longer available. Subsequent scroll requests prolong the lifetime of the scroll cursor by the duration of
page_timeout
in the scroll request. -
The values for parameters in the query.
-
The SQL query to run.
External documentation -
The timeout before the request fails.
-
One or more runtime fields for the search request. These fields take precedence over mapped fields with the same name.
-
The ISO-8601 time zone ID for the search.
-
The period to wait for complete results. It defaults to no timeout, meaning the request waits for complete search results. If the search doesn't finish within this period, the search becomes async.
To save a synchronous search, you must specify this parameter and the
keep_on_completion
parameter.
POST _sql?format=txt
{
"query": "SELECT * FROM library ORDER BY page_count DESC LIMIT 5"
}
resp = client.sql.query(
format="txt",
query="SELECT * FROM library ORDER BY page_count DESC LIMIT 5",
)
const response = await client.sql.query({
format: "txt",
query: "SELECT * FROM library ORDER BY page_count DESC LIMIT 5",
});
response = client.sql.query(
format: "txt",
body: {
"query": "SELECT * FROM library ORDER BY page_count DESC LIMIT 5"
}
)
$resp = $client->sql()->query([
"format" => "txt",
"body" => [
"query" => "SELECT * FROM library ORDER BY page_count DESC LIMIT 5",
],
]);
curl -X POST -H "Authorization: ApiKey $ELASTIC_API_KEY" -H "Content-Type: application/json" -d '{"query":"SELECT * FROM library ORDER BY page_count DESC LIMIT 5"}' "$ELASTICSEARCH_URL/_sql?format=txt"
client.sql().query(q -> q
.format(SqlFormat.Txt)
.query("SELECT * FROM library ORDER BY page_count DESC LIMIT 5")
);
{
"query": "SELECT * FROM library ORDER BY page_count DESC LIMIT 5"
}