美文网首页
elasticsearch之十一es7 sql新特性

elasticsearch之十一es7 sql新特性

作者: Java及SpringBoot | 来源:发表于2020-03-19 18:25 被阅读0次

个人专题目录


1. es7 sql新特性

1.1 快速入门

POST /_sql?format=txt
{
    "query": "SELECT * FROM tvs "
}

1.2 启动方式

  • http 请求

  • 客户端:elasticsearch-sql-cli.bat

1.3 显示方式

1.4 sql 翻译

POST /_sql/translate
{
    "query": "SELECT * FROM tvs "
}

返回:

{
  "size" : 1000,
  "_source" : false,
  "stored_fields" : "_none_",
  "docvalue_fields" : [
    {
      "field" : "brand"
    },
    {
      "field" : "color"
    },
    {
      "field" : "price"
    },
    {
      "field" : "sold_date",
      "format" : "epoch_millis"
    }
  ],
  "sort" : [
    {
      "_doc" : {
        "order" : "asc"
      }
    }
  ]
}

1.5 与其他DSL结合

POST /_sql?format=txt
{
    "query": "SELECT * FROM tvs",
    "filter": {
        "range": {
            "price": {
                "gte" : 1200,
                "lte" : 2000
            }
        }
    }
}

1.6 java 代码实现sql功能

前提 es拥有白金版功能

kibana中管理-》许可管理 开启白金版试用

导入依赖

    <dependency>
        <groupId>org.elasticsearch.plugin</groupId>
        <artifactId>x-pack-sql-jdbc</artifactId>
        <version>7.3.0</version>
    </dependency>
    
    <repositories>
        <repository>
            <id>elastic.co</id>
            <url>https://artifacts.elastic.co/maven</url>
        </repository>
    </repositories>

代码

public static void main(String[] args) {
        try  {
            Connection connection = DriverManager.getConnection("jdbc:es://http://localhost:9200");
            Statement statement = connection.createStatement();
            ResultSet results = statement.executeQuery(
                    "select * from tvs");
            while(results.next()){
                System.out.println(results.getString(1));
                System.out.println(results.getString(2));
                System.out.println(results.getString(3));
                System.out.println(results.getString(4));
                System.out.println("============================");
            }
        }catch (Exception e){
            e.printStackTrace();
        }

大型企业可以购买白金版,增加Machine Learning、高级安全性x-pack。

相关文章

  • elasticsearch之十一es7 sql新特性

    个人专题目录 1. es7 sql新特性 1.1 快速入门 1.2 启动方式 http 请求 客户端:elasti...

  • Math方法和es新特性

    es6常用 es7新特性 es8新特性 es9新特性 es10新特性

  • ES7及ES8新特性

    ES7新特性 (ECMAScript2016 新特性) 一、Array 1、Array.prototype.inc...

  • ES7,ES8简单介绍

    ES7新特性: Array.prototype.includes Array.prototype.includes...

  • ES7新特性

    ES7在ES6的基础上添加了三项内容:求幂运算符(**)Array.prototype.includes()方法、...

  • 内容修正

    针对已发布文章内容存在错误的地方进行修正 1、elasticsearch 7.0 新特性之Script Score...

  • es7新特性-babel配置

    es7 新特性 npx babel-upgrade --write 覆盖 preset-stage-0 配置 ba...

  • Elasticsearch 6.3 X-PACK SQL Ove

    Elasticsearch 6.3 X-PACK SQL Overview Elasticsearch SQL a...

  • js记录

    异步回调 es7新特性Array.prototype.includes() includes() 方法用来判断一个...

  • 2019-02-28

    ES7新特性 求幂运算符(**)、Array.prototype.includes()方法 1.Array.pro...

网友评论

      本文标题:elasticsearch之十一es7 sql新特性

      本文链接:https://www.haomeiwen.com/subject/plalyhtx.html