SQL CLI
编辑SQL CLI编辑
Elasticsearch 在其 bin
目录中附带了一个用于运行 SQL CLI 的脚本
$ ./bin/elasticsearch-sql-cli
您可以将要连接的 Elasticsearch 实例的 URL 作为第一个参数传递
$ ./bin/elasticsearch-sql-cli https://some.server:9200
如果您的集群上启用了安全功能,则可以将用户名和密码以 username:password@host_name:port
的形式传递给 SQL CLI
$ ./bin/elasticsearch-sql-cli https://sql_user:[email protected]: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
包含 SQL CLI 的 jar 是一个独立的 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
每个 Elasticsearch 版本的 jar 名称都不同(例如 elasticsearch-sql-cli-7.3.2.jar
),因此上面示例中指定了通用的 VERSION
。此外,如果未从 SQL CLI jar 所在的文件夹运行命令,则还必须提供完整路径。
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