IMPORTANT: No additional bug fixes or documentation updates
will be released for this version. For the latest information, see the
current release documentation.
ES|QL query API
edit
A newer version is available. Check out the latest documentation.
ES|QL query API
editReturns search results for an ES|QL (Elasticsearch query language) query.
resp = client.esql.query(
query="\n FROM library\n | EVAL year = DATE_TRUNC(1 YEARS, release_date)\n | STATS MAX(page_count) BY year\n | SORT year\n | LIMIT 5\n ",
)
print(resp)
const response = await client.esql.query({
query:
"\n FROM library\n | EVAL year = DATE_TRUNC(1 YEARS, release_date)\n | STATS MAX(page_count) BY year\n | SORT year\n | LIMIT 5\n ",
});
console.log(response);
POST /_query
{
"query": """
FROM library
| EVAL year = DATE_TRUNC(1 YEARS, release_date)
| STATS MAX(page_count) BY year
| SORT year
| LIMIT 5
"""
}
Request
editPOST _query
Prerequisites
edit-
If the Elasticsearch security features are enabled, you must have the
readindex privilege for the data stream, index, or alias you search.
Query parameters
edit-
delimiter -
(Optional, string) Separator for CSV results. Defaults to
,. The API only supports this parameter for CSV responses. -
drop_null_columns -
(Optional, boolean) Should columns that are entirely
nullbe removed from thecolumnsandvaluesportion of the results? Defaults tofalse. Iftruethe the response will include an extra section under the nameall_columnswhich has the name of all columns. -
format -
(Optional, string) Format for the response. For valid values, refer to Response formats.
You can also specify a format using the
AcceptHTTP header. If you specify both this parameter and theAcceptHTTP header, this parameter takes precedence.
Request body
edit-
columnar -
(Optional, Boolean) If
true, returns results in a columnar format. Defaults tofalse. The API only supports this parameter for CBOR, JSON, SMILE, and YAML responses. See Columnar results. -
include_ccs_metadata -
(Optional, boolean) If
true, cross-cluster searches will include metadata about the query on each cluster. Defaults tofalse. The API only supports this parameter for CBOR, JSON, SMILE, and YAML responses. See Cross-cluster metadata. -
locale - (Optional, string) Returns results (especially dates) formatted per the conventions of the locale. For syntax, refer to Returning localized results.
-
params -
(Optional, array) Values for parameters in the
query. For syntax, refer to Passing parameters to a query. -
profile -
(Optional, boolean) If provided and
truethe response will include an extraprofileobject with information about how the query was executed. It provides insight into the performance of each part of the query. This is for human debugging as the object’s format might change at any time. Think of this like EXPLAIN ANALYZE or EXPLAIN PLAN. -
query - (Required, string) ES|QL query to run. For syntax, refer to Syntax reference.
Response body
edit-
columns -
(array of objects)
Column
nameandtypefor each column returned invalues. Each object is a single column. -
all_columns -
(array of objects)
Column
nameandtypefor each queried column. Each object is a single column. This is only returned ifdrop_null_columnsis sent with the request. -
values - (array of arrays) Values for the search results.
-
_clusters -
(object)
Metadata about clusters involved in the execution of a cross-cluster query. Only returned (1) for
cross-cluster searches and (2) when
include_ccs_metadatais sent in the body and set totrueand (3) whenformatof the response is set to JSON (the default), CBOR, SMILE, or YAML. See Cross-cluster metadata for more information. -
profile -
(object)
Profile describing the execution of the query. Only returned if
profilewas sent in the body. The object itself is for human debugging and can change at any time. Think of this like EXPLAIN ANALYZE or EXPLAIN PLAN.