一、安装

前提是你先安装好了elasticseach,安装过程在我上一篇博客有说,可以看一下。

在elasticsearch容器启动的情况下,进入到elasticsearch容器,Elasticsearch_sql仓库,比如我的版本是8.11.2,那么我就选择对应的命令。

Elasticsearch_sql插件安装+使用_Elastic

docker exec -it elasticsearch bash

Elasticsearch_sql插件安装+使用_jenkins_02

进入到elasticsearch容器以后执行以上命令即可。

执行完毕以后记得重启elasticsearch和kibana,然后看一下插件安装成功没有,
查看插件是否安装成功的命令是,首先进去elasticsearch的docke容器里面,然后执行以下命令

elasticsearch-plugin list

可以看到一个sql就代表安装成功了。

Elasticsearch_sql插件安装+使用_elasticsearch_03

二、使用

数据导入

PUT /library/_bulk?refresh
{"index":{"_id": "Leviathan Wakes"}}
{"name": "Leviathan Wakes", "author": "James S.A. Corey", "release_date": "2011-06-02", "page_count": 561}
{"index":{"_id": "Hyperion"}}
{"name": "Hyperion", "author": "Dan Simmons", "release_date": "1989-05-26", "page_count": 482}
{"index":{"_id": "Dune"}}
{"name": "Dune", "author": "Frank Herbert", "release_date": "1965-06-01", "page_count": 604}

查询

# 查询
POST /_sql?format=txt
{
  "query": "SELECT * FROM library WHERE release_date < '2000-01-01'"
}
# 转化,将sql转化为es,我感觉这个转化是不全的,肯定是有后期处理
POST /_sql/translate
{
  "query": "SELECT * FROM library WHERE release_date < '2000-01-01'"
}

Elasticsearch_sql的是使用我参考了这篇文章这里面讲的很详细,目前我只用到了以上我提到的内容,更多需求请看这篇文章