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

SQL CLI

Elasticsearch поставляется со скриптом для запуска SQL CLI в его каталоге bin:

$ ./bin/elasticsearch-sql-cli

Вы можете передать URL экземпляра Elasticsearch для подключения в качестве первого параметра:

$ ./bin/elasticsearch-sql-cli https://some.server:9200

Если безопасность включена в вашем кластере, вы можете передать имя пользователя и пароль в формате username:password@host_name:port в SQL CLI:

$ ./bin/elasticsearch-sql-cli https://sql_user:strongpassword@some.server:9200

После запуска CLI вы можете использовать любой запрос, который поддерживает Elasticsearch:

sql> SELECT * FROM library WHERE page_count > 500 ORDER BY page_count DESC;
     author      |        name        |  page_count   | release_date
-----------------+--------------------+---------------+---------------
Peter F. Hamilton|Pandora's Star      |768            |1078185600000
Vernor Vinge     |A Fire Upon the Deep|613            |707356800000
Frank Herbert    |Dune                |604            |-144720000000
Alastair Reynolds|Revelation Space    |585            |953078400000
James S.A. Corey |Leviathan Wakes     |561            |1306972800000

Jar-файл, содержащий SQL CLI, представляет собой автономное Java-приложение, и скрипты просто запускают его. Вы можете перемещать его на другие машины без необходимости установки Elasticsearch на них. Без предоставленных скриптовых файлов, вы можете запустить SQL CLI, используя команду, подобную следующей:

$ ./java -jar [PATH_TO_CLI_JAR]/elasticsearch-sql-cli-[VERSION].jar https://some.server:9200

или

$ ./java -cp [PATH_TO_CLI_JAR]/elasticsearch-sql-cli-[VERSION].jar org.elasticsearch.xpack.sql.cli.Cli https://some.server:9200

Имя jar будет отличаться для каждой версии Elasticsearch (например, elasticsearch-sql-cli-7.3.2.jar), поэтому используется общий VERSION, указанный в примере выше. Кроме того, если вы не запускаете команду из каталога, где находится jar SQL CLI, вам необходимо указать полный путь.

Команды CLI

Помимо SQL-запросов, CLI также может выполнять некоторые специфические команды:

allow_partial_search_results = <boolean> (по умолчанию false)
Если true, возвращает частичные результаты в случае таймаутов запросов фрагмента или ошибок фрагментов. Если false, возвращает ошибку без частичных результатов.
sql> allow_partial_search_results = true;
allow_partial_search_results set to true
fetch_size = <number> (по умолчанию 1000)
Позволяет изменить размер извлечений для выполнения запросов. Каждое извлечение ограничено разделителем извлечения (если он явно задан).
sql> fetch_size = 2000;
fetch size set to 2000
fetch_separator = <string> (пустая строка по умолчанию)
Позволяет изменить строку-разделитель между извлечениями.
sql> fetch_separator = "---------------------";
fetch separator set to "---------------------"
lenient = <boolean> (по умолчанию false)
Если false, Elasticsearch SQL возвращает ошибку для полей, содержащих массивы значений. Если true, Elasticsearch SQL возвращает первое значение из массива без гарантии согласованности результатов.
sql> lenient = true;
lenient set to true
info
Возвращает информацию о сервере.
sql> info;
Node:mynode Cluster:elasticsearch Version:8.3
exit
Закрывает CLI.
sql> exit;
Bye!
cls
Очищает экран.
sql> cls;
logo
Выводит логотип Elastic.
sql> logo;

                       asticElasticE
                     ElasticE  sticEla
          sticEl  ticEl            Elast
        lasti Elasti                   tic
      cEl       ast                     icE
     icE        as                       cEl
     icE        as                       cEl
     icEla     las                        El
   sticElasticElast                     icElas
 las           last                    ticElast
El              asti                 asti    stic
El              asticEla           Elas        icE
El            Elas  cElasticE   ticEl           cE
Ela        ticEl         ticElasti              cE
 las     astic               last              icE
   sticElas                   asti           stic
     icEl                      sticElasticElast
     icE                       sticE   ticEla
     icE                       sti       cEla
     icEl                      sti        Ela
      cEl                      sti       cEl
       Ela                    astic    ticE
         asti               ElasticElasti
           ticElasti  lasticElas
              ElasticElast

                       SQL
                      8.3.0

© 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-cli.html

Spec-Zone.ru

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