安装ES6.3.0 之前文章已经安装过,请看之前的安装
因为6.3.0自带了SQL工具,一起安装的,安装目录的bin下面,
这样记动,bin/elasticsearch-sql-cli
如下图所示, 就是启动成功
用sql 命令简单的查询一下数据,不过是第一版本的SQL功能支持,可能对于嵌套的查询支持不是很友好
sql> select * from java_demo_index where prodId>6 order by prodId desc
| ;
catId |match.prodName | prodDesc | prodId | prodName |query.match.prodName
---------------+---------------+---------------+---------------+---------------+--------------------
6 |null |智能手机3 |8 |iphone8s |null
6 |null |智能手机3 |7 |iphone8s |null
第二方式 直接请求等到数据
注意后面的参数 _xpack/sql?format=txt" -d 后面加单引号‘’ 数据体 其中format=txt 文本方式输出,还可以用JSON方式输出
format=json 其他的格式支持包括:yaml、smile、cbor 、txt、csv、tsv等等,我们可以通过 format
参数指定。
curl -X POST "http://192.168.11.237:9200/_xpack/sql?format=txt" -H 'Content-Type: application/json' -d'
{
"query": "SELECT * FROM java_demo_index ORDER BY prodId DESC LIMIT 5"
};
catId |match.prodName | prodDesc | prodId | prodName |query.match.prodName
---------------+---------------+---------------+---------------+---------------+--------------------
6 |null |智能手机3 |8 |iphone8s |null
6 |null |智能手机3 |7 |iphone8s |null
6 |null |智能手机 |6 |iphone6s |null
6 |null |智能手机3 |6 |iphone8s |null
6 |null |智能手机3 |5 |iphone8s |null
下面以JSON方式输出
[root@p7 /]# curl -X POST "http://192.168.11.237:9200/_xpack/sql?format=json" -H 'Content-Type: application/json' -d'
{
"query": "SELECT * FROM java_demo_index ORDER BY prodId DESC LIMIT 5"
> }'
{"columns":[
{"name":"catId","type":"text"},{"name":"match.prodName","type":"text"},{"name":"prodDesc","type":"text"},{"name":"prodId","type":"text"},{"name":"prodName","type":"text"},{"name":"query.match.prodName","type":"text"}],"rows":[["6",null,"智能手机3","8","iphone8s",null],["6",null,"智能手机3","7","iphone8s",null],["6",null,"智能手机","6","iphone6s",null],["6",null,"智能手机3","6","iphone8s",null],["6",null,"智能手机3","5","iphone8s",null]
]}
第三种方式 SQL JDBC
https://www.elastic.co/guide/en/elasticsearch/reference/master/sql-jdbc.html |
另外用插件访问,用sql查询,有些还是不能用
SQL转DLS 方式访问
http://192.168.11.237:9200/_xpack/sql/translate/
{"query":"SELECT * FROM java_demo_index ORDER BY prodId DESC LIMIT 5"}
如果如下,后续再接着研究