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
xxxxxxxxxxwangting@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
xwangting@ops02:elasticsearch-7.6.1 >bin/elasticsearch-sql-cli http://11.8.36.63:9200br-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 ticElastEl asti asti sticEl asticEla Elas icEEl Elas cElasticE ticEl cEEla 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>
xxxxxxxxxxsql> 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 |INDEXent-encoding |BASE TABLE |INDEXent_enc_test |BASE TABLE |INDEXentname-enc |BASE TABLE |INDEXentname-enc-2 |BASE TABLE |INDEXtest-index |BASE TABLE |INDEX相当于原查索引:
xxxxxxxxxxwangting@ops02:/opt/module/elasticsearch-7.6.1 >curl 11.8.36.63:9200/_cat/indices?vhealth status index uuid pri rep docs.count docs.deleted store.size pri.store.sizegreen open test-index DxIKyW40S_qymQ4KxOqXnQ 1 1 1 0 9.6kb 4.8kbgreen open .kibana_task_manager_1 q-M2U0SOR0aiuAIS_GzQww 1 1 1 1 21.9kb 10.9kbgreen open .apm-agent-configuration -WHiuCWJSuG5X093xdXdXg 1 1 0 0 566b 283bgreen open ent_enc_test xAbnkyepQNqOwlGUAgEgOQ 1 1 0 0 566b 283bgreen open ent-encoding dFuiK9oAR4-xIJa-hl6i4g 5 1 0 0 2.7kb 1.3kbgreen open entname-enc wSEXF8diR1uv2Cf4KtOtIg 1 1 8141000 0 231.2gb 115.6gbgreen open .kibana_1 RDgshOEqQzKIVoKte4PrKw 1 1 11 100 83.2kb 41.7kbgreen open entname-enc-2 lqPQkXMLT6SdonIVMJkVcg 50 1 8141000 0 231.3gb 115.6gb
xxxxxxxxxxsql> desc "entname-enc"; column | type | mapping---------------+---------------+---------------enc |OTHER |unsupportedname |VARCHAR |keywordsname |VARCHAR |keyword注意:在索引名中有符号时,使用引号括起来,否则会提示有特殊符号:
xxxxxxxxxxsql> desc entname-enc;Bad request [line 1:13: mismatched input '-' expecting <EOF>]
xxxxxxxxxxsql> select * from "entname-enc" limit 10; name | sname-----------------+---------------绍兴柯桥宝纳纺织品有限公司 |null绍兴纺都纺织有限公司 |null绍兴柯桥天之恩纺织品有限公司 |null绍兴柯桥利瑞纺织有限公司 |null施瓦萨科迪贸易有限公司绍兴代表处 |null绍兴游龙窗饰有限公司 |null绍兴柯桥骏昇针纺有限公司 |null绍兴市柯桥区中国轻纺城展会有限公司|null绍兴柯桥立桐布业有限公司 |null浙江越能针纺有限公司 |null
xxxxxxxxxxsql> select name from "entname-enc" where name like '%龙游龙%' limit 5; name-----------------------------龙游龙帮汽车维修厂龙游龙辉电镀有限公司龙游龙尚家庭农场浙江龙游龙城房地产开发有限公司中国石油天然气股份有限公司浙江衢州销售分公司龙游龙北加油站
目前主要是为了查询数据便捷,所以关于数据方面的修改插入等操作还不支持
支持的关键吃:“DEBUG”,“DESC”,“DESCRIBE”,“EXPLAIN”,“SELECT”,“SHOW”,“SYS”,“WITH”