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

Elasticsearch學習3-使用RestClient操作es

這篇具有很好參考價值的文章主要介紹了Elasticsearch學習3-使用RestClient操作es。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1、RestClient 介紹

JavaREST客戶端有兩種模式:

Java Low Level REST Client:ES官方的低級客戶端。低級別的客戶端通過http與Elasticearch集群通信。
Java High Level REST Client:ES官方的高級客戶端。基于上面的低級客戶端,也是通過HTTP與ES集群進行通信。它提供了更多的接口。
此外Spring也對RestClient進行了封裝,本文主要介紹Java High Level REST Client的使用

2、使用RestClient操作索引

2.1創(chuàng)建鏈接

//創(chuàng)建ES連接對象
        String esAuth = Base64.encodeBase64String(("test_user" + ":" + "test_user").getBytes());
        RestClientBuilder builder = RestClient.builder(new HttpHost("test01.es.58dns.org", 9299, "http"))
                .setRequestConfigCallback(requestConfigBuilder -> requestConfigBuilder
                        .setConnectTimeout(13000)
                        .setSocketTimeout(15000)
                        .setConnectionRequestTimeout(15000));
        builder.setDefaultHeaders(new BasicHeader[]{new BasicHeader("Authorization", "Basic " + esAuth)});
        RestHighLevelClient restHighLevelClient = new RestHighLevelClient(builder);
        System.out.println(restHighLevelClient);

2.2創(chuàng)建索引庫

下方代碼僅創(chuàng)建了索引庫,沒有指定映射mapping

可通過request.source(“映射字符串",XContentType.JSON)指定映射字符串文章來源地址http://www.zghlxwxcb.cn/news/detail-677630.html

// 創(chuàng)建索引
        CreateIndexRequest createIndexRequest = new CreateIndexRequest("user2");
        CreateIndexResponse response = restHighLevelClient.indices().create(createIndexRequest, RequestOptions.DEFAULT);
        boolean acknowledged = response.isAcknowledged();
        //判斷是否創(chuàng)建索引成功
        System.out.println(acknowledged);

2.3 查詢索引信息、判斷索引庫是否存在


        //查詢索引
        GetIndexRequest getIndexRequest = new GetIndexRequest("user2");
        GetIndexResponse getIndexResponse = restHighLevelClient.indices().get(getIndexRequest, RequestOptions.DEFAULT);
        System.out.println("getIndexResponse.getAliases() = " + getIndexResponse.getAliases());
        System.out.println("getIndexResponse.getMappings() = " + getIndexResponse.getMappings());
        System.out.println("getIndexResponse.getSetting() = " + getIndexResponse.getSettings());
        //判斷索引是否存在
        boolean exists = restHighLevelClient.indices().exists(getIndexRequest, RequestOptions.DEFAULT);
        System.out.println("exists = " + exists);

2.4刪除索引,判斷是否刪除成功

//刪除索引
 DeleteIndexRequest deleteIndexRequest = new DeleteIndexRequest("user2");
 AcknowledgedResponse delete = restHighLevelClient.indices().delete(deleteIndexRequest, RequestOptions.DEFAULT);
        //判斷是否刪除成功
System.out.println("delete.isAcknowledged() = " + delete.isAcknowledged());

3、進行文檔操作

//新增數(shù)據(jù)
        User user = new User();
        user.setName("小李");
        user.setAge(12);
        user.setPassword("123321");
        //轉化為json串
        ObjectMapper objectMapper = new ObjectMapper();
        String userString = objectMapper.writeValueAsString(user);
        //創(chuàng)建請求
        IndexRequest indexRequest = new IndexRequest();
        //指定索引庫名稱和id
        indexRequest.index("user").id("1");
        //指定索引類型
        indexRequest.type("_doc");
        //指定要添加的內容
        indexRequest.source(userString, XContentType.JSON);
        IndexResponse index = restHighLevelClient.index(indexRequest, RequestOptions.DEFAULT);
        System.out.println("index.getId() = " + index.getId());

        //查詢文檔
        GetRequest getIndexRequest1 = new GetRequest();
        getIndexRequest1.index("user").id("1");
        GetResponse getIndexResponse1 = restHighLevelClient.get(getIndexRequest1,RequestOptions.DEFAULT);
        String sourceAsString = getIndexResponse1.getSourceAsString();
        System.out.println("sourceAsString = " + sourceAsString);


        //修改文檔
        UpdateRequest updateRequest = new UpdateRequest();
        updateRequest.index("user").id("1");
        updateRequest.doc("name","129212","age",20);
        updateRequest.type("_doc");
        UpdateResponse update = restHighLevelClient.update(updateRequest, RequestOptions.DEFAULT);
        System.out.println("update.getGetResult() = " + update.getGetResult());
        //再次查詢文檔
        GetRequest getIndexRequest2 = new GetRequest();
        getIndexRequest2.index("user").id("1");
        getIndexRequest2.type("_doc");
        GetResponse getIndexResponse2 = restHighLevelClient.get(getIndexRequest2,RequestOptions.DEFAULT);
        String sourceAsString2 = getIndexResponse2.getSourceAsString();
        System.out.println("sourceAsString2 = " + sourceAsString2);
//刪除文檔
DeleteRequest deleteRequest1 = new DeleteRequest();
        deleteRequest1.index("user").id("1");
        restHighLevelClient.delete(deleteRequest1,RequestOptions.DEFAULT);

到了這里,關于Elasticsearch學習3-使用RestClient操作es的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領支付寶紅包贊助服務器費用

相關文章

  • 微服務學習|初識elasticsearch、操作索引庫、文檔操作、RestClient操作索引庫、RestClient操作文檔

    微服務學習|初識elasticsearch、操作索引庫、文檔操作、RestClient操作索引庫、RestClient操作文檔

    elasticsearch是一款非常強大的開源搜索引擎,可以幫助我們從海量數(shù)據(jù)中快速找到需要的內容。 elasticsearch結合kibana、Logstash、Beats,也就是elastic stack (ELK)。被廣泛應用在日志數(shù)據(jù)分析、實時監(jiān)控等領域 elasticsearch是elastic stack的核心,負責存儲、搜索、分析數(shù)據(jù) Lucene是一個jav

    2024年01月18日
    瀏覽(63)
  • 【Elasticsearch篇】詳解使用RestClient操作索引庫的相關操作

    【Elasticsearch篇】詳解使用RestClient操作索引庫的相關操作

    Elasticsearch是一個開源的分布式搜索和分析引擎, 用于實時搜索、分析和存儲大規(guī)模數(shù)據(jù) 。它基于Apache Lucene庫構建,提供了一個簡單而強大的分布式搜索解決方案。 Elasticsearch具有以下特點: 分布式架構:Elasticsearch可以在多個節(jié)點上分布數(shù)據(jù),并自動處理數(shù)據(jù)的復制、故障

    2024年01月24日
    瀏覽(25)
  • ES的安裝和RestClient的操作

    ES的安裝和RestClient的操作

    目錄 初識elasticsearch 什么是elasticsearch elasticsearch的發(fā)展 Lucene的優(yōu)缺點 elasticsearch的優(yōu)勢 倒排索引? es與mysql的概念對比 文檔 索引 概念對比 架構 安裝es 安裝kibana 安裝ik分詞器? 分詞器 安裝ik分詞器 ik分詞器的拓展和停用詞典 操作索引庫 mapping屬性 創(chuàng)建索引庫 查詢、刪除、修

    2024年02月03日
    瀏覽(21)
  • elasticsearch(ES)分布式搜索引擎03——(RestClient查詢文檔,ES旅游案例實戰(zhàn))

    elasticsearch(ES)分布式搜索引擎03——(RestClient查詢文檔,ES旅游案例實戰(zhàn))

    文檔的查詢同樣適用昨天學習的 RestHighLevelClient對象,基本步驟包括: 1)準備Request對象 2)準備請求參數(shù) 3)發(fā)起請求 4)解析響應 我們以match_all查詢?yōu)槔?3.1.1.發(fā)起查詢請求 代碼解讀: 第一步,創(chuàng)建 SearchRequest 對象,指定索引庫名 第二步,利用 request.source() 構建DSL,DSL中可

    2024年02月07日
    瀏覽(23)
  • 【ElasticSearch】使用 Java 客戶端 RestClient 實現(xiàn)對文檔的查詢操作,以及對搜索結果的排序、分頁、高亮處理

    【ElasticSearch】使用 Java 客戶端 RestClient 實現(xiàn)對文檔的查詢操作,以及對搜索結果的排序、分頁、高亮處理

    在 Elasticsearch 中,通過 RestAPI 進行 DSL 查詢語句的構建通常是通過 HighLevelRestClient 中的 resource() 方法來實現(xiàn)的。該方法包含了查詢、排序、分頁、高亮等所有功能,為構建復雜的查詢提供了便捷的接口。 RestAPI 中構建查詢條件的核心部分是由一個名為 QueryBuilders 的工具類提供

    2024年01月16日
    瀏覽(37)
  • ElasticSearch索引庫、文檔、RestClient操作

    ElasticSearch索引庫、文檔、RestClient操作

    es中的索引是指相同類型的文檔集合 ,即mysql中表的概念 映射:索引中文檔字段的約束,比如名稱、類型 mapping映射是對索引庫中文檔的約束。類似mysql對表單字段的約束 type :字段數(shù)據(jù)類型,常見的類型有: 字符串:text(可分詞的文本)、keyword(不可分詞的文本,例如國家

    2024年02月10日
    瀏覽(24)
  • Elasticsearch --- RestAPI、RestClient操作文檔

    Elasticsearch --- RestAPI、RestClient操作文檔

    ES官方提供了各種不同語言的客戶端,用來操作ES。這些客戶端的本質就是組裝DSL語句,通過http請求發(fā)送給ES。官方文檔地址:Elasticsearch Clients | Elastic 其中的Java Rest Client又包括兩種: ? 創(chuàng)建數(shù)據(jù)庫 創(chuàng)建項目 mapping映射分析 創(chuàng)建索引庫,最關鍵的是mapping映射,而mapping映射要

    2024年02月07日
    瀏覽(31)
  • Elasticsearch常用查詢語法及RestClient操作

    Elasticsearch常用查詢語法及RestClient操作

    match查詢 :全文檢索查詢的一種,會對用戶內容分詞,然后去倒排索引庫檢索,語法。 multi_match :和match類似,但是它允許多個字段進行查詢 解釋:在 hotel索引庫 中按照 address 和 name 兩個字段搜索值 包含北京 的文檔 精準查詢一般是查找keyword,數(shù)值,日期,boolean等 不可分

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

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

    2023年04月09日
    瀏覽(35)
  • ElasticSearch之RestClient操作索引庫和文檔

    ElasticSearch之RestClient操作索引庫和文檔

    前言:上文介紹了使用DSL語言操作索引庫和文檔,本篇文章將介紹使用Java中的RestClient來對索引庫和文檔進行操作。 希望能夠加深自己的印象以及幫助到其他的小伙伴兒們????。 如果文章有什么需要改進的地方還請大佬不吝賜教????。 小威在此先感謝各位大佬啦~~????

    2024年02月06日
    瀏覽(20)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領取紅包

二維碼2

領紅包