目录
一、ElasticSearch-SQL介绍 1
二、ElasticSearch-SQL安装 1
2.1环境介绍: 1
三、安装ElasticSearch-SQL 5.5.2插件 2
3.1.安装es-sql依赖node npm 2
3.2 下载es-sql并安装 2
3.3安装配置es-sql的前端 2
3.4.安装es-sql trobule shooting 3
四、启动并使用es-sql 3
4.1重启es,再启动es-sql前端 3
ElasticSearch-SQL(后续简称es-sql)是ElasticSearch的一个插件,提供了es 的类sql查询的相关接口。支持绝大多数的sql查询支持。
ElasticSearch-sql 地址:https://github.com/NLPchina/elasticsearch-sql
ElasticSearch-sql:5.5.2.0
Elasticsearch:5.5.2版本
操作系统:Centos 7
JDK: 1.8
es-sql 5.x版本以后,安装需要依赖node 和 npm ,先安装node和npm,安装后在检查node及npm的安装,命令如下:
yum -y install nodejs npm
node -v
npm -v
然后切换到es的根目录下,执行如下命令,下载并安装es-sql插件:
./bin/elasticsearch-plugin install https://github.com/NLPchina/elasticsearch-sql/releases/download/5.5.2.0/elasticsearch-sql-5.5.2.0.zip
离线包安装可以执行:
./bin/elasticsearch-plugin install file:/elasticsearch-sql-5.5.2.0.zip
在es 5.X后,需要下载 es-sql的extract site ,并解压,下载地址如下:https://github.com/NLPchina/elasticsearch-sql/releases/download/5.4.1.0/es-sql-site-standalone.zip,此目录不能解压到elasticsearch的plugins目录下,然后切换到解压文件目录中的site-server中。执行如下安装命令:
cd site-server
npm install express --save
然后我们可以在site-server/site_configuration.json配置文件中修改启动服务的端口。
备份es配置文件并添加以下三行信息,不然会导致一会通过web访问ElasticSearch-sql查询出现以下问题
我们需要在elasticsearch.yml末尾添加以下三行配置文件
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers: "X-Requested-With,Content-Type,Content-Length,Authorization"
添加es-sql插件后,重启es,然后启动es-sql前端服务
启动前端服务:先切换到es-sql/site-server目录下,执行如下语句
node node-server.js &
启动后,访问:http://ip:8888/ 然后配置es地址,如下:
查询效果如下:
我们也可以直接通过es_sql插件通过web请求方式直接查询
简单查询方式:
http://192.168.50.118:9200/_sql?sql=select * from dbl limit 10
解析SQL:
http://192.168.50.118:9200/_sql/_explain?sql=select * from dbl limit 10
黄色标注为索引名称!