ES|QL запрос API
Возвращает результаты поиска для запроса ES|QL (язык запросов Elasticsearch).
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
"""
} Запрос
POST _query
Предварительные требования
- Если функции безопасности Elasticsearch включены, у вас должны быть
readправа на индекс для потока данных, индекса или псевдонима, по которому вы осуществляете поиск.
Параметры запроса
-
delimiter - (Необязательно, строка) Разделитель для результатов CSV. По умолчанию
,. API поддерживает этот параметр только для ответов CSV. -
drop_null_columns - (Необязательно, логическое значение) Столбцы, которые полностью
null, должны быть удалены из части результатовcolumnsиvalues? По умолчаниюfalse. Еслиtrue, в ответ будет добавлена дополнительная секция под названиемall_columns, содержащая имена всех столбцов. -
format -
(Необязательно, строка) Формат ответа. Для допустимых значений обратитесь к Форматы ответов.
Вы также можете указать формат, используя заголовок HTTP
Accept. Если вы указываете как этот параметр, так и заголовок HTTPAccept, приоритет имеет этот параметр.
Тело запроса
-
columnar - (Необязательно, Булево) Если
true, возвращает результаты в столбцовом формате. По умолчаниюfalse. API поддерживает этот параметр только для ответов в формате CBOR, JSON, SMILE и YAML. См. Столбцовые результаты. -
include_ccs_metadata - (Необязательно, логическое значение) Если
true, результаты межкластерного поиска будут включать метаданные о запросе на каждом кластере. По умолчаниюfalse. API поддерживает этот параметр только для ответов в формате CBOR, JSON, SMILE и YAML. См. Метаданные межкластерных запросов. -
locale - (Необязательно, строка) Возвращает результаты (особенно даты) с форматированием в соответствии с соглашениями локали. Для синтаксиса обратитесь к Возвращение результатов с локализацией.
-
params - (Необязательно, массив) Значения для параметров в
query. Для синтаксиса обратитесь к Передача параметров в запрос. -
profile - (Необязательно, логическое значение) Если указано и
true, ответ будет включать дополнительный объектprofileс информацией об исполнении запроса. Он предоставляет представление о производительности каждой части запроса. Это предназначено для отладки человеком, поскольку формат объекта может меняться в любое время. Подумайте об этом как о EXPLAIN ANALYZE или EXPLAIN PLAN. -
query - (Обязательно, строка) Запрос ES|QL для выполнения. Для синтаксиса обратитесь к Справочнику синтаксиса.
Тело ответа
-
columns - (массив объектов) Столбец
nameиtypeдля каждого возвращённого столбца вvalues. Каждый объект — это отдельный столбец. -
all_columns - (массив объектов) Столбец
nameиtypeдля каждого запрошенного столбца. Каждый объект — это отдельный столбец. Это возвращается только еслиdrop_null_columnsотправлено с запросом. -
values - (массив массивов) Значения для результатов поиска.
-
_clusters - (объект) Метаданные о кластерах, участвующих в выполнении межкластерного запроса. Возвращается только (1) для межкластерных запросов и (2) когда
include_ccs_metadataотправлено в теле и установлено в значениеtrueи (3) когдаformatответа установлено в JSON (по умолчанию), CBOR, SMILE или YAML. См. Метаданные межкластерных запросов для получения дополнительной информации. -
profile - (объект) Профиль, описывающий выполнение запроса. Возвращается только если
profileбыло отправлено в теле. Сам объект предназначен для отладки человеком и может изменяться в любое время. Подумайте об этом как о EXPLAIN ANALYZE или EXPLAIN PLAN.
© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/8.17/esql-query-api.html