zoukankan      html  css  js  c++  java
  • 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);
    螃蟹在剥我的壳,笔记本在写我,漫天的我落在枫叶上雪花上,而你在想我。 --章怀柔
  • 相关阅读:
    第一周例行报告
    内置函数_map、filter
    时间戳
    模块_pip、os模块
    常用内置函数
    函数递归、列表推导式
    Python基础(六)_全局变量声明、可变参数、关键字参数
    Python基础(五) 函数
    python基础(四)集合
    Python基础(三)文件操作
  • 原文地址:https://www.cnblogs.com/lovezhr/p/15061684.html
Copyright © 2011-2022 走看看