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

Java操作Elasticsearch(新增數(shù)據(jù))

這篇具有很好參考價(jià)值的文章主要介紹了Java操作Elasticsearch(新增數(shù)據(jù))。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

天行健,君子以自強(qiáng)不息;地勢(shì)坤,君子以厚德載物。


每個(gè)人都有惰性,但不斷學(xué)習(xí)是好好生活的根本,共勉!


文章均為學(xué)習(xí)整理筆記,分享記錄為主,如有錯(cuò)誤請(qǐng)指正,共同學(xué)習(xí)進(jìn)步。


一、服務(wù)安裝參考

首先需要準(zhǔn)備好elasticsearch和kibana
elasticsearch的下載、安裝、使用可參考:Elasticsearch安裝
kibana的下載、安裝、使用可參考:Kibana安裝、配置
服務(wù)的啟動(dòng)使用和數(shù)據(jù)增刪改查可參考:kibana操作elasticsearch(增刪改查)
在進(jìn)行一下Java實(shí)現(xiàn)之前,先將es服務(wù)和kibana服務(wù)啟動(dòng)

二、Java實(shí)現(xiàn)新增數(shù)據(jù)到ES

Elasticsearch的服務(wù)開啟后,可以使用http請(qǐng)求進(jìn)行調(diào)用接口來操作Elasticsearch數(shù)據(jù)
請(qǐng)求的url格式如下:

http://localhost:9200/index/type/id

對(duì)于Java來說,可以使用http請(qǐng)求工具進(jìn)行實(shí)現(xiàn),同時(shí)傳參,參數(shù)為json類型數(shù)據(jù)
具體實(shí)現(xiàn)如下

1. 環(huán)境

并非要求,只是我這里使用的這個(gè)環(huán)境
JDK 1.8
Maven 3.9.4
IDEA 2023.2.1

2. 包結(jié)構(gòu)

這里主要用到三個(gè)文件:pom引入依賴,HttpClientUtils是請(qǐng)求工具,EsHttpRequestController是請(qǐng)求調(diào)用測(cè)試
elasticsearch新增數(shù)據(jù),ELK,java,elasticsearch,開發(fā)語言

3. 依賴引入

引入http工具所需要的依賴,也就是實(shí)現(xiàn)請(qǐng)求的依賴
傳入的參數(shù)為json類型所以也需要json工具的依賴
pom.xml完整內(nèi)容

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.es</groupId>
    <artifactId>ES-HTTP</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <dependencies>
        <!-- https://mvnrepository.com/artifact/org.apache.httpcomponents/httpcore -->
        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpcore</artifactId>
            <version>4.4.14</version>
        </dependency>
        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpclient</artifactId>
            <version>4.5.13</version>
        </dependency>
        <!--json工具-->
        <dependency>
            <groupId>com.alibaba.fastjson2</groupId>
            <artifactId>fastjson2</artifactId>
            <version>2.0.33</version>
        </dependency>

    </dependencies>


</project>

4. http請(qǐng)求工具

HttpClientUtils.java

package com.es.utils;

import org.apache.http.HttpEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;

/**
 * @ClassDescription:
 * @JdkVersion: 1.8
 * @Author: 李白
 * @Created: 2023/10/16 16:12
 */
public class HttpClientUtils {

    public static void post(){

    }
    public static String doPost(String url, String str, String encoding) {
        String body = "";
        try {
            // 創(chuàng)建httpclient對(duì)象
            CloseableHttpClient client = HttpClients.createDefault();
            // 創(chuàng)建post方式請(qǐng)求對(duì)象
            HttpPost httpPost = new HttpPost(url);
            // 設(shè)置參數(shù)到請(qǐng)求對(duì)象中
            httpPost.setEntity(new StringEntity(str, encoding));
            // 設(shè)置header信息
            // 指定報(bào)文頭【Content-type】、【User-Agent】
            httpPost.setHeader("Content-type", "application/json;charset=UTF-8");
            // 執(zhí)行請(qǐng)求操作,并拿到結(jié)果(同步阻塞)
            CloseableHttpResponse response = client.execute(httpPost);
            // 獲取結(jié)果實(shí)體
            HttpEntity entity = response.getEntity();
            if (entity != null) {
                // 按指定編碼轉(zhuǎn)換結(jié)果實(shí)體為String類型
                body = EntityUtils.toString(entity, encoding);
            }
            EntityUtils.consume(entity);
            // 釋放鏈接
            response.close();
            return body;
        } catch (Exception e1) {
            e1.printStackTrace();
            return "";

        }
    }

}

5. 測(cè)試代碼

編寫mian方法執(zhí)行請(qǐng)求存數(shù)據(jù)到es
EsHttoRequestController.java

package com.es.test;

import com.alibaba.fastjson2.JSONObject;
import com.es.utils.HttpClientUtils;

/**
 * @ClassDescription:
 * @JdkVersion: 1.8
 * @Author: 李白
 * @Created: 2023/10/16 16:12
 */
public class EsHttpRequestController {

    public static void main(String[] args) {
        JSONObject js = new JSONObject();
        js.put("name","杜甫");
        js.put("age","6800");
        js.put("gender","男");
        String jsonStr = js.toJSONString();
        HttpClientUtils.doPost("http://127.0.0.1:9200/deviceinfo/users/1002",jsonStr,"UTF-8");
    }

}

6. 訪問kibana服務(wù)

先看kibana服務(wù)查看數(shù)據(jù)
打開側(cè)邊欄,Analytics–Discover
elasticsearch新增數(shù)據(jù),ELK,java,elasticsearch,開發(fā)語言
查看現(xiàn)有數(shù)據(jù)
elasticsearch新增數(shù)據(jù),ELK,java,elasticsearch,開發(fā)語言
執(zhí)行5. 測(cè)試代碼的代碼,然后刷新界面查看新增數(shù)據(jù)
如下,新增成功
elasticsearch新增數(shù)據(jù),ELK,java,elasticsearch,開發(fā)語言


感謝閱讀,祝君暴富!文章來源地址http://www.zghlxwxcb.cn/news/detail-777924.html

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

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

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

相關(guān)文章

  • 【ELK】elasticsearch啟動(dòng)異常報(bào)錯(cuò)“access denied (“java.lang.RuntimePermission“ “modifyThread“)”解決一列

    背景,某運(yùn)維小白搭建ES 7.17.7 集群重啟ES集群出現(xiàn)啟動(dòng)es集群情況,服務(wù)自動(dòng)關(guān)閉,錯(cuò)誤日志如下: 現(xiàn)象: 1、看到需要關(guān)閉swap可以提升穩(wěn)定性,裝好ES后關(guān)閉swap并重啟服務(wù)器發(fā)現(xiàn)ES無法啟動(dòng); 2、回退swap后,啟動(dòng)成功; 3、關(guān)閉后故障依舊; 4、經(jīng)檢查發(fā)現(xiàn)內(nèi)存使用率有點(diǎn)高

    2024年02月04日
    瀏覽(90)
  • Java SpringBoot API 實(shí)現(xiàn)ES(Elasticsearch)搜索引擎的一系列操作(超詳細(xì))(模擬數(shù)據(jù)庫操作)

    Java SpringBoot API 實(shí)現(xiàn)ES(Elasticsearch)搜索引擎的一系列操作(超詳細(xì))(模擬數(shù)據(jù)庫操作)

    小編使用的是elasticsearch-7.3.2 基礎(chǔ)說明: 啟動(dòng):進(jìn)入elasticsearch-7.3.2/bin目錄,雙擊elasticsearch.bat進(jìn)行啟動(dòng),當(dāng)出現(xiàn)一下界面說明,啟動(dòng)成功。也可以訪問http://localhost:9200/ 啟動(dòng)ES管理:進(jìn)入elasticsearch-head-master文件夾,然后進(jìn)入cmd命令界面,輸入npm?run?start?即可啟動(dòng)。訪問http

    2024年02月04日
    瀏覽(34)
  • java操作ElasticSearch之批量操作

    出現(xiàn): 版本沖突、文檔類型不對(duì)、JAR包與使用的API不一致或其他問題。都可參考以下連接。 ElasticSearch超級(jí)實(shí)用API描述 以上代碼需要變動(dòng)一下,將一些參數(shù)替換掉。

    2024年02月16日
    瀏覽(32)
  • Java 操作ElasticSearch

    Java 操作ElasticSearch

    ????????Java REST提供了兩種風(fēng)格的客戶端連接工具,Java High Level REST Client、Java Low Level REST Client,這里我就不去細(xì)說Java Low Level REST Client了,因?yàn)檫@我確實(shí)沒用到過,也不是很了解,我說一下Java High Level REST Client。 ????????首先如果你喜歡看官方文檔的話,我把地址粘貼

    2024年02月06日
    瀏覽(15)
  • java Api操作Elasticsearch

    java Api操作Elasticsearch

    本次使用 elasticsearch 版本為7.17.0, 建議使用 7.X 版本 ,8.1.2版本會(huì)遇到一些 Springboot(本人使用版本2.6.6) 版本不兼容的問題。此文章會(huì)列舉一個(gè)例子。 我們?cè)跍y(cè)試類中先創(chuàng)建一個(gè)客戶端,用來向 ES 發(fā)送請(qǐng)求 測(cè)試代碼如下: 控制臺(tái)輸出信息如下: 此處會(huì)遇到坑: 運(yùn)行之后

    2023年04月09日
    瀏覽(19)
  • Elasticsearch基本操作+集成SpringBoot+ELK日志平臺(tái)搭建

    Elasticsearch是一種開源的搜索和分析引擎,最初由開源搜索引擎Lucene的作者于2010年創(chuàng)建。它提供了一個(gè)可伸縮、高性能的搜索和數(shù)據(jù)分析平臺(tái),可用于多種用途,包括 文本搜索、應(yīng)用程序性能監(jiān)控、業(yè)務(wù)分析、日志聚合 等。 Elasticsearch使用分布式架構(gòu),可以處理大量數(shù)據(jù)并實(shí)

    2024年02月06日
    瀏覽(24)
  • Java API批量操作Elasticsearch

    Java API批量操作Elasticsearch

    @Test public void batchAddIndex() throws IOException { BulkRequestBuilder bulkRequest = client .prepareBulk(); bulkRequest.add( client .prepareIndex( “batch_test1” , “batch” , “1” ) .setSource( jsonBuilder () .startObject() .field( “user” , “l(fā)zq” ) .field( “postDate” , new Date()) .field( “message” , “trying out Elasticsearch”

    2024年04月09日
    瀏覽(26)
  • Elasticsearch-Java操作篇

    通常情況下,都是使用編程語言來操作es,本篇帶來如何用java操作es。 創(chuàng)建索引 查詢索引 刪除索引 創(chuàng)建文檔 批量創(chuàng)建文檔 更新文檔 查詢文檔 刪除文檔 批量刪除文檔 查詢所有索引數(shù)據(jù) 查詢 分頁查詢 排序 過濾 bool查詢 范圍查詢 模糊查詢 高亮查詢 聚合查詢 分組查

    2024年02月12日
    瀏覽(25)
  • javaAPI操作Elasticsearch_elasticsearch 修改字段 java api

    javaAPI操作Elasticsearch_elasticsearch 修改字段 java api

    } } import com.zyw.elasticsearchdemo.constants.HotelConstants; import org.apache.http.HttpHost; import org.elasticsearch.action.admin.indices.delete.DeleteIndexRequest; import org.elasticsearch.client.RequestOptions; import org.elasticsearch.client.RestClient; import org.elasticsearch.client.RestHighLevelClient; import org.elasticsearch.client.indices.Create

    2024年04月17日
    瀏覽(24)
  • 【ElasticSearch】ElasticSearch Java API的使用——常用索引、文檔、查詢操作(二)

    Elaticsearch ,簡稱為es,es是一個(gè)開源的 高擴(kuò)展 的 分布式全文檢索引擎 ,它可以近乎 實(shí)時(shí)的存儲(chǔ) 、 檢索數(shù)據(jù); 本身擴(kuò)展性很好,可以擴(kuò)展到上百臺(tái)服務(wù)器,處理PB級(jí)別(大數(shù)據(jù)時(shí)代)的數(shù)據(jù)。es也使用java開發(fā)并使用Lucene作為其核心來實(shí)現(xiàn)所有索引和搜索的功能,但是它的 目的

    2024年01月16日
    瀏覽(124)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包