Elasticsearch-SQL介绍

仲孙凡
2023-12-01
Elasticsearch-SQL使用介绍

Elasticsearch-SQL介绍

​ 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

也可以正常使用

将依赖包放置lib库

将下载的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

启动Elasticsearch-SQL客户端服务

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”

 类似资料: