Elasticsearch的SQLjdbc驱动程序是Elasticsearch的一个功能丰富的jdbc驱动程序。它是Type 4驱动程序,这意味着它是一个独立于平台的、独立的、直接到数据库的纯Java驱动程序,可以将JDBC调用转换为Elasticsearch SQL使用
官网地址:https://www.elastic.co/guide/en/elasticsearch/reference/current/sql-jdbc.html
下载地址:https://www.elastic.co/cn/downloads/past-releases#jdbc-client
根据不同的版本下载对应版本即可,如果小版本没有相同的则根据小版本就近原则下载使用即可
例如我的ES版本为:elasticsearch-7.6.1,下载的工具包版本:x-pack-sql-jdbc-7.17.9.jar
也可以正常使用
将下载的jar包放置到elasticsearch项目的lib目录下
wangting@ops02:/opt/module/elasticsearch-7.6.1/lib >ls -l | grep sql
-rw-rw-r-- 1 wangting wangting 940644 Feb 11 15:25 x-pack-sql-jdbc-7.17.9.jar
wangting@ops02:/opt/module/elasticsearch-7.6.1 >ls -l bin/ | grep sql
-rwxr-xr-x 1 wangting wangting 427 Jan 12 15:29 elasticsearch-sql-cli
wangting@ops02:elasticsearch-7.6.1 >bin/elasticsearch-sql-cli http://11.8.36.63:9200
br-afc4ebe87187: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 172.18.0.1 netmask 255.255.0.0 broadcast 172.18.255.255
ether 02:42:a2:71:4e:17 txqueuelen 0 (Ethernet)
RX packets 154 bytes 59117 (57.7 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 154 bytes 59117 (57.7 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
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
7.6.1
sql>
sql> show tables;
name | type | kind
------------------------+---------------+---------------
.apm-agent-configuration|BASE TABLE |INDEX
.kibana |VIEW |ALIAS
.kibana_1 |BASE TABLE |INDEX
.kibana_task_manager |VIEW |ALIAS
.kibana_task_manager_1 |BASE TABLE |INDEX
ent-encoding |BASE TABLE |INDEX
ent_enc_test |BASE TABLE |INDEX
entname-enc |BASE TABLE |INDEX
entname-enc-2 |BASE TABLE |INDEX
test-index |BASE TABLE |INDEX
相当于原查索引:
wangting@ops02:/opt/module/elasticsearch-7.6.1 >curl 11.8.36.63:9200/_cat/indices?v
health status index uuid pri rep docs.count docs.deleted store.size pri.store.size
green open test-index DxIKyW40S_qymQ4KxOqXnQ 1 1 1 0 9.6kb 4.8kb
green open .kibana_task_manager_1 q-M2U0SOR0aiuAIS_GzQww 1 1 1 1 21.9kb 10.9kb
green open .apm-agent-configuration -WHiuCWJSuG5X093xdXdXg 1 1 0 0 566b 283b
green open ent_enc_test xAbnkyepQNqOwlGUAgEgOQ 1 1 0 0 566b 283b
green open ent-encoding dFuiK9oAR4-xIJa-hl6i4g 5 1 0 0 2.7kb 1.3kb
green open entname-enc wSEXF8diR1uv2Cf4KtOtIg 1 1 8141000 0 231.2gb 115.6gb
green open .kibana_1 RDgshOEqQzKIVoKte4PrKw 1 1 11 100 83.2kb 41.7kb
green open entname-enc-2 lqPQkXMLT6SdonIVMJkVcg 50 1 8141000 0 231.3gb 115.6gb
sql> desc "entname-enc";
column | type | mapping
---------------+---------------+---------------
enc |OTHER |unsupported
name |VARCHAR |keyword
sname |VARCHAR |keyword
注意:在索引名中有符号时,使用引号括起来,否则会提示有特殊符号:
sql> desc entname-enc; Bad request [line 1:13: mismatched input '-' expecting <EOF>]
sql> select * from "entname-enc" limit 10;
name | sname
-----------------+---------------
绍兴柯桥宝纳纺织品有限公司 |null
绍兴纺都纺织有限公司 |null
绍兴柯桥天之恩纺织品有限公司 |null
绍兴柯桥利瑞纺织有限公司 |null
施瓦萨科迪贸易有限公司绍兴代表处 |null
绍兴游龙窗饰有限公司 |null
绍兴柯桥骏昇针纺有限公司 |null
绍兴市柯桥区中国轻纺城展会有限公司|null
绍兴柯桥立桐布业有限公司 |null
浙江越能针纺有限公司 |null
sql> select name from "entname-enc" where name like '%龙游龙%' limit 5;
name
-----------------------------
龙游龙帮汽车维修厂
龙游龙辉电镀有限公司
龙游龙尚家庭农场
浙江龙游龙城房地产开发有限公司
中国石油天然气股份有限公司浙江衢州销售分公司龙游龙北加油站
目前主要是为了查询数据便捷,所以关于数据方面的修改插入等操作还不支持
支持的关键吃:“DEBUG”,“DESC”,“DESCRIBE”,“EXPLAIN”,“SELECT”,“SHOW”,“SYS”,“WITH”