国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

SpringBoot整合最新Elasticsearch Java API Client 7.16教程

這篇具有很好參考價值的文章主要介紹了SpringBoot整合最新Elasticsearch Java API Client 7.16教程。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。


SpringBoot整合最新Elasticsearch Java API Client 7.16教程

前言

????最新在學(xué)習(xí)SpringBoot整合es的一些知識,瀏覽了網(wǎng)上的一些資料,發(fā)現(xiàn)全都是es很久之前的版本了,其中比較流行的是Java REST Client的High Level Rest Client版本,但是官方文檔的說明中,已經(jīng)申明該版本即將廢棄,不再進(jìn)行維護(hù)了??梢姡汗俜轿臋n
????目前官方推薦的版本是Java Client 7.16,但是官方的API文檔寫的太蛋疼了,搜遍了網(wǎng)上的資料,也沒有最新7.16版本的相關(guān)說明及整和代碼實(shí)例。于是本人在琢磨幾天之后,終于順利跑通了一些代碼,并完成了幾個簡單的代碼實(shí)例。因此在此拋磚引玉,給大家提供一些參考。
SpringBoot整合最新Elasticsearch Java API Client 7.16教程

一、Elasticsearch和Kibana 7.16版本安裝

???? Elasticsearch和Kibana客戶端的安裝網(wǎng)上有很多資料,也可以參考我之前寫的文章:Docker安裝Elasticsearch和Kibana,文章里使用的7.6.2版本,改成7.16即可。
SpringBoot整合最新Elasticsearch Java API Client 7.16教程


二、pom.xml文件引入依賴

???? 官方推薦的是引入前兩個依賴即可,但是在項(xiàng)目啟動過程中,可能會報缺少jackson的錯誤, 所以額外添加了兩個jackson的依賴。

<project>

  <dependencies>
    <dependency>
      <groupId>co.elastic.clients</groupId>
      <artifactId>elasticsearch-java</artifactId>
      <version>7.16.1</version>
    </dependency>
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-databind</artifactId>
      <version>2.12.3</version>
    </dependency>

     <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-core</artifactId>
            <version>2.13.0</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-annotations</artifactId>
            <version>2.13.0</version>
        </dependency>
  </dependencies>

</project>

三、代碼實(shí)例

???? 以下是一些Java API操作ES的實(shí)例,都是非?;A(chǔ)的操作方法為大家提供參考,其中一些復(fù)雜的操作,如:查找時添加排序、關(guān)鍵詞等篩選條件,這些復(fù)雜的操作可以參考官方文檔,https://www.elastic.co/guide/en/elasticsearch/client/java-api-client/current/api-conventions.html
再次吐槽一下官方的文檔,一點(diǎn)都不詳細(xì),對像我一樣的新手非常不友好。

package com.xiqing.project.elasticsearch;

import co.elastic.clients.elasticsearch.ElasticsearchClient;
import co.elastic.clients.elasticsearch.core.CreateRequest;
import co.elastic.clients.elasticsearch.core.SearchRequest;
import co.elastic.clients.elasticsearch.core.SearchResponse;
import co.elastic.clients.elasticsearch.core.search.Hit;
import co.elastic.clients.json.jackson.JacksonJsonpMapper;
import co.elastic.clients.transport.ElasticsearchTransport;
import co.elastic.clients.transport.rest_client.RestClientTransport;
import org.apache.http.HttpHost;
import org.elasticsearch.client.RestClient;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class ElasticsearchTest {
    public static void main(String[] args) throws Exception {
        // 部署ES的ip地址和端口
        RestClient restClient = RestClient.builder(
                new HttpHost("47.100.160.51", 9200)).build();

        ElasticsearchTransport transport = new RestClientTransport(
                restClient, new JacksonJsonpMapper());

        ElasticsearchClient client = new ElasticsearchClient(transport);

        // 索引
        String index = "user-index";
        // 索引別名
        String aliases = "user-aliases-01";
        /**
         * 創(chuàng)建索引
         * @param index: 索引名稱
         * @param aliases: 別名
         * @author : XI.QING
         * @date : 2021/12/28
         */
        client.indices().create(c -> c
                .index(index)
                .aliases(aliases, a -> a
                        .isWriteIndex(true)));
        /**
         * 創(chuàng)建數(shù)據(jù)文檔
         * @param index: 索引名稱
         * @author : XI.QING
         * @date : 2021/12/29
         */
        Map<String, String> map = new HashMap<>();
        map.put("username", "張三");
        map.put("address", "江蘇省南京市");
        CreateRequest dataStreamResponse = CreateRequest.of(e -> e
                .index(index)
                .id("1")
                .type("_doc")
                .document(map));
        client.create(dataStreamResponse);

        /**
         * 查詢索引
         * @param indexList: 查詢索引的名稱
         * @param clazz: 返回結(jié)果的類型
         * @author : XI.QING
         * @date : 2021/12/29
         */
        // Object是一個po實(shí)例,如自定義的User、Book、Student等等
        List<Object> resultList = new ArrayList<>();
        SearchRequest searchRequest = SearchRequest.of(s -> s
                .index(index)
        );
        SearchResponse<Object> response = client.search(searchRequest, Object.class);
        if (response.hits() != null) {
            List<Hit<Object>> list = response.hits().hits();
            for (Hit<Object> hit :
                    list) {
                Object t = (Object) hit.source();
                resultList.add(t);
            }
        }
        /**
         * 刪除索引
         * @param index: 索引名稱
         * @author : XI.QING
         * @date : 2021/12/29
         */
        // 刪除索引(范圍大)
        client.delete(c -> c.index(index));
        // 刪除索引和ID(范圍小)
        client.delete(c -> c.index(index).id("1"));


    }
}

總結(jié)

以上就是文章的全部內(nèi)容,寫這篇文章的原因是因?yàn)榫W(wǎng)上沒有最新的Elasticsearch Java API Client 7.16相關(guān)教程,同時官方文檔提供的示例也非常少,很不友好,所以拋轉(zhuǎn)引玉一下,同時給他人提供一些參考。同時也歡迎各位到我的個人博客來逛一逛:西清的小屋文章來源地址http://www.zghlxwxcb.cn/news/detail-423942.html

到了這里,關(guān)于SpringBoot整合最新Elasticsearch Java API Client 7.16教程的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • SpringBoot集成Elasticsearch8.x(6)|(新版本Java API Client使用)

    章節(jié) 章節(jié) 第一章鏈接: SpringBoot集成Elasticsearch7.x(1)|(增刪改查功能實(shí)現(xiàn)) 第二章鏈接: SpringBoot集成Elasticsearch7.x(2)|(復(fù)雜查詢) 第三章鏈接: SpringBoot集成Elasticsearch7.x(3)|(aggregations之指標(biāo)聚合查詢) 第四章鏈接: SpringBoot集成Elasticsearch7.x(4)|(aggregations之分桶聚合

    2024年02月08日
    瀏覽(29)
  • # SpringBoot集成Elasticsearch8.5.x(5)|( 新版本Java API Client使用)

    章節(jié) 章節(jié) 第一章鏈接: SpringBoot集成Elasticsearch7.x(1)|(增刪改查功能實(shí)現(xiàn)) 第二章鏈接: SpringBoot集成Elasticsearch7.x(2)|(復(fù)雜查詢) 第三章鏈接: SpringBoot集成Elasticsearch7.x(3)|(aggregations之指標(biāo)聚合查詢) 第四章鏈接: SpringBoot集成Elasticsearch7.x(4)|(aggregations之分桶聚合

    2023年04月13日
    瀏覽(25)
  • SpringBoot集成Elasticsearch8.x(7)|(新版本Java API Client使用完整示例)

    章節(jié) 第一章鏈接: SpringBoot集成Elasticsearch7.x(1)|(增刪改查功能實(shí)現(xiàn)) 第二章鏈接: SpringBoot集成Elasticsearch7.x(2)|(復(fù)雜查詢) 第三章鏈接: SpringBoot集成Elasticsearch7.x(3)|(aggregations之指標(biāo)聚合查詢) 第四章鏈接: SpringBoot集成Elasticsearch7.x(4)|(aggregations之分桶聚合查詢)

    2024年02月16日
    瀏覽(28)
  • ElasticSearch系列——Elasticsearch Java API Client

    ElasticSearch系列——Elasticsearch Java API Client

    這是用于Elasticsearch的官方Java API客戶端的文檔??蛻舳藶樗蠩lasticsearch API提供強(qiáng)類型請求和響應(yīng)。我們要注意原來的HighRestAPIClient以及停用了,這是趨勢,包括SpringData-ElasticSearch4.4.5之后配合ES8的推出也會更換 https://www.elastic.co/guide/en/elasticsearch/client/java-api-client/7.17/indexing.html

    2024年02月01日
    瀏覽(60)
  • Elasticsearch-06-Elasticsearch Java API Client-Elasticsearch 8.0 的api

    在 Elasticsearch7.15版本之后,Elasticsearch官方將它的 高級客戶端 RestHighLevelClient 標(biāo)記為棄用狀態(tài)。同時推出了全新的 Java API客戶端 Elasticsearch Java API Client ,該客戶端也將在 Elasticsearch8.0及以后版本中成為官方推薦使用的客戶端。 Elasticsearch Java API Client 支持除 Vector tile search API 和

    2024年04月11日
    瀏覽(23)
  • 【Elasticsearch學(xué)習(xí)筆記五】es常用的JAVA API、es整合SpringBoot項(xiàng)目中使用、利用JAVA代碼操作es、RestHighLevelClient客戶端對象

    目錄 一、Maven項(xiàng)目集成Easticsearch 1)客戶端對象 2)索引操作 3)文檔操作 4)高級查詢 二、springboot項(xiàng)目集成Spring Data操作Elasticsearch 1)pom文件 2)yaml 3)數(shù)據(jù)實(shí)體類 4)配置類 5)Dao數(shù)據(jù)訪問對象 6)索引操作 7)文檔操作 8)文檔搜索 三、springboot項(xiàng)目集成bboss操作elasticsearch

    2023年04月09日
    瀏覽(37)
  • Elasticsearch 7.17 Java Client Api

    Elasticsearch官方建議使用新版的Java Api Client替代原有的Rest客戶端,這篇文章會簡單講解 新版api的使用。 The Elasticsearch Java API Client is an entirely new client library that has no relation to the older High Level Rest Client (HLRC). This was a deliberate choice to provide a library that is independent from the Elasticsearc

    2024年02月11日
    瀏覽(19)
  • SpringBoot整合Elasticsearch(最新最全,高效安裝到使用)

    SpringBoot整合Elasticsearch(最新最全,高效安裝到使用)

    為了避免使用的Elasticsearch版本和SpringBoot采用的版本不一致導(dǎo)致的問題,盡量使用一致的版本。下表是對應(yīng)關(guān)系: 我的SpringBoot版本: 所以選擇對應(yīng)Elasticsearch版本為7.12.0。 Elasticsearch各版本下載 Elasticsearch7.12.0官網(wǎng)下載 下載上面鏈接的安裝包 解壓到任意目錄 啟動es /bin/elasti

    2024年02月07日
    瀏覽(9)
  • Elasticsearch8.x版本Java客戶端Elasticsearch Java API Client中常用API練習(xí)

    在Es7.15版本之后,es官方將它的高級客戶端RestHighLevelClient標(biāo)記為棄用狀態(tài)。同時推出了全新的java API客戶端Elasticsearch Java API Client,該客戶端也將在Elasticsearch8.0及以后版本中成為官方推薦使用的客戶端。 Elasticsearch Java API Client支持除Vector title search API和Find structure API之外的所有

    2024年04月11日
    瀏覽(25)
  • Elasticsearch Java API Client 8.x使用方式

    Elasticsearch Java API Client 8.x使用方式

    客戶端的變化 眾所周知,Elasticsearch是基于Lucene的,提供了更高層次的封裝、分布式方面的擴(kuò)展,以及REST API來方便使用,我們先來看看java client的變化: 從圖中可以看成,在8.x版本中,Elasticsearch提供了全新的Java API Client,用來代替之前廣為使用的High Level Client,根據(jù)官網(wǎng)說法

    2024年02月07日
    瀏覽(20)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包