ES elasticsearch6.3 SQL查询功能支持
1、Elasticsearch6.3 特性概览
1.1、支持Sql
像操作Mysql一样使用Elasticsearch,缩减DSL的学习成本,更多人爱上ES的特性。
1POST /_xpack/sql?format=txt
2{
3 "query": "SELECT * FROM library WHERE release_date < '2000-01-01' "
4}
1.2、新增汇总统计功能
Elastic Stack已被越来越多地于物联网,用于:性能监控和其他指标数据的数据存储和可视化。尽管我们仍然认为大部分数据在很长一段时间内都有价值,但数据的相对价值随着时间的增长而降低。
随着6.3的发布,我们现在可以在Elasticsearch中创建一个Job,它将定期汇总最近添加的数据的汇总统计信息,该信息通过检索可以获得。
1.3、支持Java10
Java9、Java10都是短期版本。
官方建议:除非你熟悉Java短期版本的快速发布周期,否则我们强烈建议大多数用户坚持使用Java 8。
1.4、安全更新
此更新还修复了两个安全问题。
2、Elasticsearch版本如何升级到6.3?
作为基本规则:
2.1 次要版本之间的迁移
例如 6.x到6.y - 可以通过一次升级一个节点来执行。
2.2 连续主要版本之间的迁移
例如 5.x至6.x - 需要完全重启群集。
2.3 非连续主要版本之间的迁移
例如 2.x至6.x - 不支持。
3、Elasticsearch6.3 版本抢先安装
4、Elasticsearch-sql抢先使用
-
Elasticsearch SQL是一个X-Pack组件,它允许针对Elasticsearch实时执行类似SQL的查询。
-
无论是使用REST接口,命令行还是JDBC,任何客户端都可以使用SQL在Elasticsearch中本地搜索和聚合数据。
-
人们可以将Elasticsearch SQL视为翻译工具,简化DSL的复杂使用,方便实时大规模地读取和处理数据。
-
4.1 sql检索上道
Sql检索体验如下:
4.2 sql-cli客户端检索
4.3 sql RESTful API使用
1POST /_xpack/sql?format=txt
2{
3 "query": "SELECT * FROM library ORDER BY page_count DESC LIMIT 5"
4}
返回结果:
1 author | name | page_count | release_date
2----------------+---------------+---------------+------------------------
3Frank Herbert |Dune |604 |1965-06-01T00:00:00.000Z
4James S.A. Corey|Leviathan Wakes|561 |2011-06-02T00:00:00.000Z
5Dan Simmons |Hyperion |482 |1989-05-26T00:00:00.000
4.4 sql转DSL
1POST /_xpack/sql/translate
2{
3 "query": "SELECT * FROM library ORDER BY page_count DESC",
4 "fetch_size": 10
5}
返回结果
1{
2 "size": 10,
3 "_source": {
4 "includes": [
5 "author",
6 "name"
7 ],
8 "excludes": []
9 },
10 "docvalue_fields": [
11 "page_count",
12 "release_date"
13 ],
14 "sort": [
15 {
16 "page_count": {
17 "order": "desc"
18 }
19 }
20 ]
21}
4.5 开发中使用JDBC连接Elasticsearch
1String address = "jdbc:es://" + elasticsearchAddress;
2Properties connectionProperties = connectionProperties();
3Connection connection = DriverManager.getConnection(address, connectionProperties);
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?