Spec-Zone.ru › Elasticsearch 8
›Elasticsearch Guide [8.17] ›SQL

API перевода SQL

API перевода SQL принимает SQL-запрос в формате JSON и преобразует его в собственные запросы Elasticsearch. Например:

resp = client.sql.translate(
    query="SELECT * FROM library ORDER BY page_count DESC",
    fetch_size=10,
)
print(resp)
response = client.sql.translate(
  body: {
    query: 'SELECT * FROM library ORDER BY page_count DESC',
    fetch_size: 10
  }
)
puts response
const response = await client.sql.translate({
  query: "SELECT * FROM library ORDER BY page_count DESC",
  fetch_size: 10,
});
console.log(response);
POST /_sql/translate
{
  "query": "SELECT * FROM library ORDER BY page_count DESC",
  "fetch_size": 10
}

Что возвращает:

{
  "size": 10,
  "_source": false,
  "fields": [
    {
      "field": "author"
    },
    {
      "field": "name"
    },
    {
      "field": "page_count"
    },
    {
      "field": "release_date",
      "format": "strict_date_optional_time_nanos"
    }
  ],
  "sort": [
    {
      "page_count": {
        "order": "desc",
        "missing": "_first",
        "unmapped_type": "short"
      }
    }
  ],
  "track_total_hits": -1
}

Это запрос, который SQL выполнит для получения результатов. В этом случае SQL будет использовать API прокрутки. Если результат содержал агрегацию, SQL будет использовать обычный API поиска.

Тело запроса принимает те же параметры, что и API SQL-поиска, за исключением cursor.

© 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/sql-translate.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API