sql4es,即 Sql-for-Elasticsearch,是 Elasticsearch 的 JDBC 驱动程序。用于 Elasticsearch 2.0 - 2.4 版本实现大多数 JDBC 接口:Connection、Statement、PreparedStatment、ResultSet、Batch 和 DataBase- / ResultSetMetadata。
可以通过将jar文件(位于项目的releases目录中)添加到所使用的工具/应用中并加载名为 “nl.anchormen.sql4es.jdbc.ESDriver” 的驱动程序来使用 sql4es 驱动。驱动程序需要具有以下格式的URL:jdbc:sql4es:// host:port / index?params。
host:es主机的主机名或ip主机(必需)
port:可选传输客户端使用的端口号(默认为9300)
index:在驱动程序中设置活动的可选索引。
params:用于影响驱动程序内部的可选参数集(指定其他主机,在单个请求中获取的最大文档数等)。
// register the driver and get a connection for index 'myidx' Class.forName("nl.anchormen.sql4es.jdbc.ESDriver"); Connection con = DriverManager.getConnection("jdbc:sql4es://localhost:9300/myidx?cluster.name=your-cluster-name"); Statement st = con.createStatement(); // execute a query on mytype within myidx ResultSet rs = st.executeQuery("SELECT * FROM mytype WHERE something >= 42"); ResultSetMetaData rsmd = rs.getMetaData(); int nrCols = rsmd.getColumnCount(); // get other column information like type while(rs.next()){ for(int i=1; i<=nrCols; i++){ System.out.println(rs.getObject(i)); } } rs.close(); con.close();
原文地址:吐血整理:一文看懂ES的R,查询与聚合: https://www.cnblogs.com/liusy01/p/13726780.html 对es查询的索引的company,其有如下字段,下面是一个示例数据 "id": "1", //id "name": "张三",//姓名 "sex": "男",//性别 "age": 49,//年龄 "birthday": "1970-01-01",//
引言 通过SQL进行检索ElasticSearch的文档,在一些复杂场景更为灵活。由于DSL需要熟悉其语法,自建的日志平台可能将DSL屏蔽和封装,暴露SQL的查询更易上手。本文顺着官方指南实操一把,文章内容有。 Kibana执行SQL查询 Post请求执行SQL分页查询 SQL中使用DSL过滤 使用复杂查询条件 其他查询方式(运行时字段与异步SQL) 一、Kibana执行SQL查询 请求示例: P
Elasticsearch在Basic授权中支持以SQL语句的形式检索文档,SQL语句在执行时会被翻译为DSL执行。从语法的角度来看,Elastisearch中的SQL语句与RDBMS中的SQL语句基本一致,所以对于有数据库编程基础的人来说大大降低了使用 Elaticsearch的学习成本。 Elasticsearch提供了多种执行SQL语句的方法,可使用类似_search样的REST接口执行也可
出自 图灵学院 ElasticSearch课程 我自己学完了,然后给老师的代码和讲义自己练习了一遍,然后整理了一下,做了个笔记 概述 Elasticsearch SQL允许执行类SQL的查询,可以使用REST接口、命令行或者是JDBC,都可以使用SQL来进行数据的检索和数据的聚合。 Elasticsearch SQL特点: 本地集成 Elasticsearch SQL是专门为Elasticsear
目录 es是什么? 数据类型: 关键字: bool查询总结: ES详细查询的两种方式 一、查询字符串搜索 二、结构化查询(单字段查询,不能多字段组合查询) 1、match系列之match_all (查询全部) 2、match系列之match_phrase(短语查询) 3、match系列之match_phrase_prefix(最左前缀查询)智能搜索–以什么开头 4、match系列之multi_ma
一、读取 使用spark-sql读取es数据如下代码所示: SparkSession session = SparkSession.builder() .appName("esTest") .master("local[*]") .getOrCreate(); Dataset<Row> dataset = session.read() .format("org.e
背景 记录一个最近半年犯了两次的低级编码错误,校验某个字符串信息为枚举类的某实例时,写成了:枚举类的实例.equals(字符串) ,结果总是 false ,打印信息貌似正确,实际执行结果总是不达预期,仔细看看代码才发现问题。本文记录本周开发工作中遇到的几个小问题,Bug 是无法完全消除的,只能尽量减少。 ES 连接及时关闭 查看某进程的端口占用时,看到好多正连接着的 ES 连接对象,普通的 Jav
ES在 6.3.0以后的版本,开始支持使用 SQL的方式来操作 6.3.0 release highlights | Elasticsearch Guide [6.8] | Elastic ES在 6.5.0以后的版本,开始支持使用 ODBC来连接操作 6.5.0 release highlights | Elasticsearch Guide [6.8] | Elastic
bboss ES SQL是针对es jdbc的替代解决方案 the best elasticsearch highlevel java rest api-----bboss bboss 提供一组sql和fetchQuery API,可替代官方es jdbc模块;采用bboss即可拥有bboss的客户端自动发现和容灾能力、对es、jdk、spring boot的兼容性能力,又可以拥有es jdbc的
我需要在Java中使用JDBC做一些简单的实验,我认为运行derby数据库应该是实现这一点的简单途径。 我已经安装了derby,并使用“ij”工具创建了一个表并将一些数据放入其中。我也可以用ij读回数据。 然而,当我试图使用实际的Java代码连接到此时,事情变得很糟糕。这是我尝试了几件事情的情况之一,每件事都以不同的方式失败,所以我希望你们都能原谅这有点模糊。但这些是我迄今为止尝试/失败的要点。
问题内容: 有人告诉我,加载JDBC驱动程序的首选方法是: 我知道,这对于从XML配置文件或用户输入中读取多个驱动程序之间的动态决策更好。我很好奇的是,调用此语句如何将指定的驱动程序加载到我们什至没有将生成的“ Class”对象存储在任何地方的环境中。JavaDocs条目说: 返回与具有给定字符串名称的类或接口关联的Class对象 在那种情况下,Java开发人员仅凭此语句如何设法促进驱动程序对象的
主要内容:JDBC驱动程序是什么?,JDBC驱动程序类型,应该使用哪个驱动程序?JDBC驱动程序是什么? JDBC驱动程序在JDBC API中实现定义的接口,用于与数据库服务器进行交互。 例如,使用JDBC驱动程序,可以通过发送SQL或数据库命令,然后使用Java接收结果来打开数据库连接并与数据库进行交互。 JDK附带的包包含各种类,其类的行为被定义,实现在第三方驱动程序中完成。 第三方供应商在其数据库驱动程序中实现接口。 JDBC驱动程序类型 JDBC驱动程序实现因Java
我正在开发数据库,我在EclipseLuna IDE中做了一个项目。我的数据库是mysql。我下载了connector/j文件,并将这个jar文件添加到我的项目中。这是jar文件全名“mysql-connector-java-5.1.35-bin.jar”。但是,当我运行该项目时,它会显示以下错误消息:“没有找到适合jdbc的驱动程序:mysql//localhost/books”。books是我
问题内容: 我正在尝试使用JDBC驱动程序将android应用程序连接到服务器(PostgreSQL),但是出现此错误: 我尝试了很多事情,例如在路径中添加驱动程序的地址,但没有任何效果。我遵循了本教程:http : //appliedcoffeetechnology.tumblr.com/post/10657124340,并在构建路径中添加了驱动程序JDBC4(我也尝试过JDBC3)。 每个人都
我正试图使用IntelliJ IDE从Spark连接到老虎机数据库。有人能帮助jdbc驱动程序(。jar)文件吗?我正在寻找“com.tigergraph.jdbc.驱动程序”。 我确实找到了下面的gitHub存储库,其中包含了所有必需的信息。java文件。但是,我不知道如何在我的spark项目中使用它。https://github.com/tigergraph/ecosys/tree/maste
问题内容: 我很难确定应该如何在我的debian 6.0服务器上为PostgreSQL安装JDBC驱动程序。我已将驱动程序.jar移至以下目录: 然后,教程讨论如何使用此代码: 但是,由于我是PostgreSQL的新手,所以我不知道应该把这行放在哪里,或者这是否正确。 我的问题是,除了将jar文件移动到此位置之外,为了在我的postgreSQL安装上安装JDBC驱动程序,我实际上需要做什么? 编辑
问题内容: 输出 >无法连接到数据库服务器java.lang.ClassNotFoundException 问题答案: 看来您应该将MySQL驱动程序jar放入 类路径中 。