一.入门
查询所有
POST /_sql?format=txt
{
"query": "SELECT * FROM tvs "
}

按颜色分组,查询价格的最大值、最小值、总和、平均值
POST /_sql?format=txt
{
"query": "select color,sum(price),min(price),max(price),avg(price) from tvs group by color"
}

sql翻译:
POST /_sql/translate
{
"query": "SELECT * FROM tvs "
}
返回:

与DSL混用:
POST /_sql?format=txt
{
"query": "SELECT * FROM tvs",
"filter": {
"range": {
"price": {
"gte" : 1200,
"lte" : 2000
}
}
}
}
二.elasticsearch-sql-cli
进入elasticsearch的安装目录
cd bin ./elasticsearch-sql-cli

然后再sql命令行可以执行sql语句

三.java代码实现sql功能
在kibana中开启白金版试用

加入相关功能的依赖:
<dependency>
<groupId>org.elasticsearch.plugin</groupId>
<artifactId>x-pack-sql-jdbc</artifactId>
<version>7.3.0</version>
</dependency>
<repositories><!-- 如果jar包下载不下来,就需要在pom文件中配置一下仓库 -->
<repository>
<id>elastic.co</id>
<url>https://artifacts.elastic.co/maven</url>
</repository>
</repositories>
测试:
//创建连接
Connection connection = DriverManager.getConnection("jdbc:es://http://192.168.10.138:9200");
//创建statement
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery("select * from tvs");
//获取结果
while (resultSet.next()){
System.out.println(resultSet.getString(1));
System.out.println(resultSet.getString(2));
System.out.println(resultSet.getString(3));
System.out.println(resultSet.getString(4));
System.out.println("--------");
}

