ElasticSearch-SQL使用方式小结

1.ES-SQL插件

此插件提供了es 的类sql查询的相关接口。支持绝大多数的sql查询支持

github地址:https://github.com/NLPchina/elasticsearch-sql

环境准备

需安装elasticsearch node.js npm

下载安装

进入es根目录,执行如下命令(注意插件版本号需要同自身es版本保持一致)

./bin/elasticsearch-plugin install https://github.com/NLPchina/elasticsearch-sql/releases/download/5.5.1.0/elasticsearch-sql-5.5.1.0.zip

or

./bin/elasticsearch-plugin installfile:/elasticsearch-sql-5.5.1.0.zip

下载完毕后解压,并将解压后文件放至elasticsearch/plugins/sql下

下载es-sql的客户端

下载地址:https://github.com/NLPchina/elasticsearch-sql/releases/download/5.4.1.0/es-sql-site-standalone.zip

下载完毕后解压,切换至解压目录的site-server中,执行

npm install express --save

为防止端口冲突,可在site-server/site_configuration.json配置文件中修改启动服务的端口

在这里插入图片描述

完成之后在site-server目录下执行

node node-server.js

访问http://localhost:8088

在这里插入图片描述

箭头指向位置为es地址,一般为localhost:9200,红框内可输入sql语句,点击search查询

第二种查询方式为通过http请求 如: curl -XPOST http://localhost:9200/_sql -d ‘SELECT * FROM .kibana_1’

注:插件还可支持delete功能,执行语法同SQL

2.ElasticSearch v6.3之后自带SQL查询

该SQL模块属于X_pack的一部分,主要特点如下:

允许在kibana以及elasticsearch中使用 SQL 查询其中的数据

支持 REST 、 JDBC 以及命令行来来下数据,任何客户端都可以使用 SQL 在 Elasticsearch 中本地搜索和聚合数据

要求 ES版本必须为6.3.0及以上

使用说明

REST API方式:

curl -X POST “localhost:9200/_xpack/sql?format=txt” -H ‘Content-Type: application/json’ -d’

{

“query”: “SELECT * FROM library ORDER BY page_count DESC LIMIT 5”

}’

返回结果如下

在这里插入图片描述

上面通过format=txt指定了返回数据的形式,也可写成format=json来返回json格式数据

其他的格式支持包括:yaml、smile、cbor 、txt、csv、tsv等等,皆可以通过format参数指定

6.3版本同时提供了Translate API接口,.可以通过这个接口查看es如何将输入的SQL转化成DSL语句

执行:

curl -X POST “localhost:9200/_xpack/sql/translate” -H ‘Content-Type: application/json’ -d’

{

“query”: “SELECT * FROM library ORDER BY page_count DESC”,

“fetch_size”: 10

}’

返回结果:

在这里插入图片描述

Kibana方式:

在这里插入图片描述

“query”:" sql查询语句"

SQL CLI 命令行方式:

命令行启动:./bin/elasticsearch-sql-cli

界面如下:

相关sql函数使用详见

https://www.elastic.co/guide/en/elasticsearch/reference/6.3/xpack-sql.html

使用 Elasticsearch SQL 插件,您需要先确保您已经安装了 Elasticsearch 7.1.1 版本。然后,按照以下步骤进行操作: 1. 安装 Elasticsearch SQL 插件: - 打开终端或命令提示符窗口。 - 运行以下命令安装 Elasticsearch SQL 插件: ``` ./bin/elasticsearch-plugin install https://github.com/NLPchina/elasticsearch-sql/releases/download/7.1.1.0/elasticsearch-sql-7.1.1.0.zip ``` - 安装完成后,重启 Elasticsearch 以使插件生效。 2. 使用 Elasticsearch SQL: - 打开终端或命令提示符窗口。 - 进入 Elasticsearch 的安装目录。 - 运行以下命令以启动 Elasticsearch SQL 查询: ``` ./bin/elasticsearch-sql-cli ``` - 您将进入 Elasticsearch SQL 的命令行界面。 - 现在,您可以开始使用 SQL 语法来查询 Elasticsearch 数据。 例如,您可以运行以下命令来执行一个简单的 SELECT 查询: ``` SELECT * FROM your_index_name WHERE your_field_name = 'your_value' ``` 注意:在上述查询中,`your_index_name` 是您要查询的索引名称,`your_field_name` 是您要查询的字段名称,`your_value` 是您要匹配的字段值。 这样,您就可以使用 Elasticsearch SQL 插件来执行 SQL 查询并检索 Elasticsearch 中的数据了。请记住,Elasticsearch SQL 插件提供了一种方便的方式使用 SQL 语法进行查询,但它可能不适用于所有类型的查询,特别是复杂的查询。因此,在使用插件时,请确保您了解其使用限制和适用场景。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值