国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數(shù)據(jù)庫技術(shù)|

服務(wù)器之家 - 數(shù)據(jù)庫 - Sql Server - Elasticsearch不會DSL沒事,來試試SQL吧

Elasticsearch不會DSL沒事,來試試SQL吧

2020-12-02 23:24今日頭條低調(diào)的干貨君 Sql Server

Elasticsearch 是一個分布式、RESTful 風(fēng)格的搜索和數(shù)據(jù)分析引擎,能夠解決不斷涌現(xiàn)出的各種用例,最常見的是作為搜索引擎,提供項目中全文搜索。

Elasticsearch 是一個分布式、RESTful 風(fēng)格的搜索和數(shù)據(jù)分析引擎,能夠解決不斷涌現(xiàn)出的各種用例,最常見的是作為搜索引擎,提供項目中全文搜索。

一提到Elasticsearch,必然需要提到Query DSL,DSL(Domain Specific Language特定領(lǐng)域語言)以JSON請求體的形式,但DSL語法并沒有那么直觀,如果不經(jīng)常使用,就會遺忘,等需要用的時候,感覺非常不方便。

Elasticsearch不會DSL沒事,來試試SQL吧

Elasticsearch不會DSL沒事,來試試SQL吧

今天我們就看下官方提供的X-Pack,它包含一項SQL功能,可對Elasticsearch索引執(zhí)行SQL查詢并以表格格式返回結(jié)果。Elasticsearch SQL(6.3版本以后)不僅允許針對Elasticsearch實(shí)時執(zhí)行類似SQL的查詢。也可以使用REST接口,或者使用JDBC,保證任何客戶端都可以使用SQL對Elasticsearch中的數(shù)據(jù)進(jìn)行原生搜索和聚合數(shù)據(jù)。我們可以將Elasticsearch SQL看作是一種翻譯器,它可以將SQL翻譯成Query DSL。

官方說明:https://www.elastic.co/guide/en/elasticsearch/reference/7.8/xpack-sql.html

下面我們先使用es + kabana體驗一下(安裝就不說明了)

構(gòu)建數(shù)據(jù)

先創(chuàng)建索引,注意es 7.x去掉了type,本文使用的是7.8.0版本的es和kabana。

創(chuàng)建索引

Elasticsearch不會DSL沒事,來試試SQL吧

放入文檔數(shù)據(jù)

 Elasticsearch不會DSL沒事,來試試SQL吧

 Elasticsearch不會DSL沒事,來試試SQL吧

SQL查詢數(shù)據(jù)

Elasticsearch不會DSL沒事,來試試SQL吧

SQL語法

在ES中使用SQL查詢的語法與在數(shù)據(jù)庫中使用基本一致,具體格式如下:

SELECT select_expr [, ...] 

FROM table_name ] 

WHERE condition ] 

GROUP BY grouping_element [, ...] ] 

HAVING condition] 

ORDER BY expression [ ASC | DESC ] [, ...] ] 

[ LIMIT [ count ] ] 

[ PIVOT ( aggregation_expr FOR column IN ( value [ [ AS ] alias ] [, ...] ) ) ] 

大家可以在實(shí)際中自行體驗一下,也可以通過下列語句,將sql轉(zhuǎn)成DSL

POST /_sql/translate 

  "query""SELECT * FROM student LIMIT 10" 

  Elasticsearch不會DSL沒事,來試試SQL吧

下面我們來看下jdbc的操作

JDBC使用SQL查詢

引入依賴

<dependency> 

  <groupId>org.elasticsearch.plugin</groupId> 

  <artifactId>x-pack-sql-jdbc</artifactId> 

  <version>7.8.0</version> 

</dependency> 

注意該依賴maven中央倉庫沒有,需要配置倉庫地址

<repositories> 

        <repository> 

            <id>elastic.co</id> 

            <url>https://artifacts.elastic.co/maven</url> 

        </repository> 

    </repositories> 

jdbc相關(guān)代碼

Class.forName("org.elasticsearch.xpack.sql.jdbc.EsDriver"); 

Connection connection = DriverManager.getConnection("jdbc:es://http://127.0.0.1:9200"); 

Statement statement = connection.createStatement(); 

ResultSet resultSet = statement.executeQuery("select name from student"); 

while (resultSet.next()){ 

  System.out.println(resultSet.getString("name")); 

執(zhí)行后,報錯如下

Exception in thread "main" java.sql.SQLInvalidAuthorizationSpecException: current license is non-compliant for [jdbc] 

    at org.elasticsearch.xpack.sql.client.JreHttpUrlConnection$SqlExceptionType.asException(JreHttpUrlConnection.java:330) 

    at org.elasticsearch.xpack.sql.client.JreHttpUrlConnection.parserError(JreHttpUrlConnection.java:207) 

    at org.elasticsearch.xpack.sql.client.JreHttpUrlConnection.request(JreHttpUrlConnection.java:170) 

    at org.elasticsearch.xpack.sql.client.HttpClient.lambda$post$1(HttpClient.java:106) 

    at org.elasticsearch.xpack.sql.client.JreHttpUrlConnection.http(JreHttpUrlConnection.java:66) 

    at org.elasticsearch.xpack.sql.client.HttpClient.lambda$post$2(HttpClient.java:105) 

    at java.security.AccessController.doPrivileged(Native Method) 

    at org.elasticsearch.xpack.sql.client.HttpClient.post(HttpClient.java:104) 

    at org.elasticsearch.xpack.sql.client.HttpClient.query(HttpClient.java:81) 

    at org.elasticsearch.xpack.sql.jdbc.JdbcHttpClient.query(JdbcHttpClient.java:70) 

    at org.elasticsearch.xpack.sql.jdbc.JdbcStatement.initResultSet(JdbcStatement.java:160) 

    at org.elasticsearch.xpack.sql.jdbc.JdbcStatement.execute(JdbcStatement.java:151) 

    at org.elasticsearch.xpack.sql.jdbc.JdbcStatement.executeQuery(JdbcStatement.java:40) 

    at com.ganhuojun.gracefulshutdown.configuration.Test.main(Test.java:22) 

發(fā)現(xiàn)current license is non-compliant for [jdbc],說明功能被限制,查詢下官網(wǎng)發(fā)現(xiàn),jdbc在免費(fèi)開源的版本是不支持的

Elasticsearch不會DSL沒事,來試試SQL吧

查詢地址:https://www.elastic.co/cn/subscriptions

那怎么解決呢?

官網(wǎng)提供了我們修改license api的功能,去體驗一些新的功能

https://www.elastic.co/guide/en/elasticsearch/reference/master/start-trial.html

按照官網(wǎng)操作后,執(zhí)行前面的jdbc代碼,可以得到正確結(jié)果

Elasticsearch不會DSL沒事,來試試SQL吧

由于jdbc版本使用需要付費(fèi),建議在實(shí)際項目中,使用DSL或者SQL REST API操作。

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 国产精品大片 | 亚洲精品久久久久久国产 | 国产成人精品免费视频 | 一级毛片免费 | 国产精品久久久久久久久久免费看 | 欧美国产视频一区 | 日韩av视屏| 中文字幕在线精品 | 99爱在线观看 | 精品国产一区二区三区小蝌蚪 | 色乱码一区二区三区网站 | 日韩小视频 | 亚洲a网 | 国产一区二区三区在线免费观看 | 成人福利 | 国产日韩欧美在线观看 | 成人国产精品免费观看 | 依人久久久 | 青青久久北条麻妃 | 成人综合在线观看 | 日韩在线视频观看免费 | 亚洲精品a在线观看 | 日韩欧在线 | 精品久久久久久久久久久久久久 | 久久视频精品 | 亚洲成人免费网站 | 激情五月综合网 | 欧美一区二区三区精品免费 | 福利国产 | 欧美一区二区三区精品 | 欧美日韩精品综合 | 国产91在线播放 | 成人亚洲精品 | 欧美三级视频 | 天堂俺去俺来也www久久婷婷 | 欧美日本韩国一区二区 | 国产精品久久久久一区二区三区 | 日韩中文字幕免费视频 | 成人在线免费视频 | 日本一区二区三区日本免费 | 国产黄视频在线观看 |