当前位置: 首页 > news >正文

Java操作Elasticsearch(新增数据)

天行健,君子以自强不息;地势坤,君子以厚德载物。


每个人都有惰性,但不断学习是好好生活的根本,共勉!


文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。

文章目录

  • 一、服务安装参考
  • 二、Java实现新增数据到ES
    • 1. 环境
    • 2. 包结构
    • 3. 依赖引入
    • 4. http请求工具
    • 5. 测试代码
    • 6. 访问kibana服务


一、服务安装参考

首先需要准备好elasticsearch和kibana
elasticsearch的下载、安装、使用可参考:Elasticsearch安装
kibana的下载、安装、使用可参考:Kibana安装、配置
服务的启动使用和数据增删改查可参考:kibana操作elasticsearch(增删改查)
在进行一下Java实现之前,先将es服务和kibana服务启动

二、Java实现新增数据到ES

Elasticsearch的服务开启后,可以使用http请求进行调用接口来操作Elasticsearch数据
请求的url格式如下:

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

对于Java来说,可以使用http请求工具进行实现,同时传参,参数为json类型数据
具体实现如下

1. 环境

并非要求,只是我这里使用的这个环境
JDK 1.8
Maven 3.9.4
IDEA 2023.2.1

2. 包结构

这里主要用到三个文件:pom引入依赖,HttpClientUtils是请求工具,EsHttpRequestController是请求调用测试
在这里插入图片描述

3. 依赖引入

引入http工具所需要的依赖,也就是实现请求的依赖
传入的参数为json类型所以也需要json工具的依赖
pom.xml完整内容

<?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请求工具

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 {// 创建httpclient对象CloseableHttpClient client = HttpClients.createDefault();// 创建post方式请求对象HttpPost httpPost = new HttpPost(url);// 设置参数到请求对象中httpPost.setEntity(new StringEntity(str, encoding));// 设置header信息// 指定报文头【Content-type】、【User-Agent】httpPost.setHeader("Content-type", "application/json;charset=UTF-8");// 执行请求操作,并拿到结果(同步阻塞)CloseableHttpResponse response = client.execute(httpPost);// 获取结果实体HttpEntity entity = response.getEntity();if (entity != null) {// 按指定编码转换结果实体为String类型body = EntityUtils.toString(entity, encoding);}EntityUtils.consume(entity);// 释放链接response.close();return body;} catch (Exception e1) {e1.printStackTrace();return "";}}}

5. 测试代码

编写mian方法执行请求存数据到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服务

先看kibana服务查看数据
打开侧边栏,Analytics–Discover
在这里插入图片描述
查看现有数据
在这里插入图片描述
执行5. 测试代码的代码,然后刷新界面查看新增数据
如下,新增成功
在这里插入图片描述


感谢阅读,祝君暴富!

相关文章:

Java操作Elasticsearch(新增数据)

天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物。 每个人都有惰性&#xff0c;但不断学习是好好生活的根本&#xff0c;共勉&#xff01; 文章均为学习整理笔记&#xff0c;分享记录为主&#xff0c;如有错误请指正&#xff0c;共同学习进步。…...

Android中级——MVVM

MVVM MVVM是什么&#xff1f;MVVM实现前提ModelViewModelView MVVM是什么&#xff1f; Model-View-ViewMode架构&#xff0c;可看作MVP改进版&#xff0c;将此前Presenter的逻辑操作交给ViewMode中的Binder去处理 Mode&#xff1a;封装数据存储及相关操作逻辑&#xff0c;与MV…...

AIGC:引领人工智能和游戏产业融合的里程碑

目录 引言&#xff1a; 一、AIGC简介 二、AIGC的意义和作用 三、AIGC的未来展望 四、AIGC的影响和成果 五、结论 引言&#xff1a; 人工智能技术的快速发展在过去几年中引起了全球范围内的广泛关注和热议。其中&#xff0c;AIGC&#xff08;Artificial Intelligence and G…...

ubuntu安装rust教程

参考【Rust】Linux上安装Rust开发环境 sudo apt-get install curl# 注意&#xff0c;不开代理很可能下不到&#xff0c;一直报403 export RUSTUP_DIST_SERVERhttps://mirrors.ustc.edu.cn/rust-static export RUSTUP_UPDATE_ROOThttps://mirrors.ustc.edu.cn/rust-static/rustu…...

iOS UIWebView与WKWebView 那些事

一、前言介绍 UIWebView 是 iOS 2 中推出的网页容器,UIWebView是最占内存的控件;直到 iOS 8 以后,苹果推出了 WebKit 框架,其中 WKWebView 正式被推出来接替 UIWebView 的位置;iOS 12 中,苹果正式弃用 UIWebView,要求开发者用 WKWebView 全面替换 UIWebView,apple 官方…...

wps/word 之 word中的两个表格 如何合并成为一个表格(已解决)

第一步&#xff1a;新建两个表格&#xff1a; 如何实现上面的两个表格合并呢&#xff1f; 分别选定每个表格&#xff0c;然后鼠标右键---》表格属性 在表格属性中的 表格---》选择 无文字环绕。 第二个表格按照同样的方法 设置 无文字环绕。 然后将中的文本行删去即可以了。选…...

02HTML功能元素

1.功能元素 1.1.列表标签 ​ 列表标签的作用: 给一堆数据添加列表语义, 也就是告诉搜索引擎告诉浏览器这一堆数据是一个整体 - HTML中列表标签的分类 ​ 无序列表(最多)(unordered list) ​ 有序列表(最少)(ordered list) ​ 定义列表(其次)(definition list) 1.1.1.无序列…...

并发编程-延时队列DelayQueue

数据结构学习网站&#xff1a; Data Structure Visualization 思维导图 DelayQueue &#xff08;延时队列&#xff09; DelayQueue 是一个支持延时获取元素的阻塞队列 &#xff0c; 内部采用优先队列 PriorityQueue 存储元素&#xff0c;同时元素必须实现 Delayed 接口&#x…...

Python之哈希表-遍历和有序性

Python之哈希表-遍历和有序性 有序性 字典元素是按照key的hash值无序存储的。 但是&#xff0c;有时候我们却需要一个有序的元素顺序&#xff0c;Python 3.6之前&#xff0c;使用OrderedDict类可以做到&#xff0c;3.6开 始dict自身支持。 d1 {b:33, c:True, d:[1], f:234…...

Oracle数据库完整卸载的完整步骤

时间&#xff1a;2023-03-15来源&#xff1a;系统城装机大师作者&#xff1a;佚名 1、停止所有Oracle服务 进入计算机管理&#xff0c;在服务中&#xff0c;找到oracle开头的所有服务&#xff0c;右击选择停止。 快捷键&#xff1a;ctrlshiftesc打开任务管理器 文章来源 Or…...

HP OfficeJet Pro 8020 如何更换碳粉盒

环境&#xff1a; HP OfficeJet Pro 8020 问题描述&#xff1a; HP OfficeJet Pro 8020 如何更换碳粉盒 解决方案&#xff1a; 更换碳粉盒 更换所有墨水不足的碳粉盒或空碳粉盒。 1.打开前挡盖&#xff0c;然后提起碳粉盒检修门。 打开打印机门 2.等待笔架停止后再继续操作…...

【Javascript】基础数据类型

目录 基础数据类型 1.number 字面量声明 数字对象方式声明 整数判断 指定返回小数位数 NaN-表示非数字值 浮点精度 解决误差 String 字面量声明 数字对象声明 连接运算符 获取长度 大小写转换 转换成大写 转换成小写 ​编辑 移除空白 获取单字符 ​编辑 截…...

【C语言】进阶——程序编译

目录 一&#xff1a;&#x1f512;程序环境 程序的翻译环境和执行环境 &#x1f4a1;1.1翻译环境 预编译阶段&#xff1a; 编译阶段&#xff1a; 汇编阶段&#xff1a; 链接阶段&#xff1a; &#x1f4a1;1.2运行环境 二&#xff1a;&#x1f512;预处理详解 &…...

记录阿里云服务器(Centos7.9)部署Thingsboard(3.4.2)遇到的一些问题

记录编译Thingsboard遇到的一些问题 部署了一个thingsboard项目到阿里云服务器上&#xff0c;历时十一天&#xff0c;遇到了很多困难&#xff0c;国内关于Thingsboard的资料确实很少&#xff0c;所以想着写一篇博客记录一下&#xff0c;或许能够给以后编译遇到类似问题的人一些…...

docker更新容器映射端口

一个容器已经暴露了一个端口被外界使用&#xff0c;但是这个端口被公司不允许使用&#xff0c;需要修改为其他的端口&#xff0c;怎么办&#xff1f; 1、删除原容器&#xff0c;重启新容器 删除已启动容器&#xff0c;从镜像重启新容器。2、修改原容器配置文件 3、生成镜像&…...

Pr快捷键

Pr快捷键 以下快捷键都是在英文输入法下 一、隐藏顶部项目信息 Ctrl\ 注意&#xff1a;是反斜杠&#xff0c;回车上面的按键二、单独放大窗口 选中面板按~键三、放大/缩小时间轴素材 \四、自动选中素材 序列菜单-选择跟随播放指示器五、快速定位间隙 SHIFT鼠标拖动素材 …...

94. 递归实现排列型枚举

题目&#xff1a; 94. 递归实现排列型枚举 - AcWing题库 思路&#xff1a; 1.全排列问题&#xff08;坑位问题&#xff09;---->递归搜索树---->用dfs深度优先搜索。 2. u表示当前坑位&#xff0c;state[u]表示坑位u存储的数据。因为不同坑位的数据不可以重复&#…...

白水三佳电脑ERP部署

安装宝塔面板&#xff0c;有这个方便很多&#xff0c;可以省下3天的环境部署时间。 移动端&#xff0c; 先取移动版的压缩包&#xff0c;上传至服务器/www/wwwroot/目录下面&#xff0c;直接解压到当前目录后会生成/www/wwwroot/m/的目录&#xff0c;移动版就在这里面了。以下…...

电流监测芯片SGM8199A2应用电路设计

SGM8199是一系列具有电压输出功能的双向电流监测芯片&#xff0c;用于监测共模电压范围内分流电阻上的压降&#xff0c;而不受电源电压的影响。该器件具有-0.1V至26V的宽共模电压范围输入。低偏移使得在监测电流时允许分流器上的满量程最大压降为10mV。SGM8199系列提供三种固定…...

第十五章 I/O输入输出

15,1输入输出流 流是一组有序的数据序列&#xff0c;根据操作的类型&#xff0c;可分为输入流和输出流两种。I/O(Input/Output,(输出)流提供了一条通道程序&#xff0c;可以使用这条通道把源中的字节序列送到目的地。虽然 I/O 流疆盘文件存取有关&#xff0c;但是程序的源和目的…...

7.4.分块查找

一.分块查找的算法思想&#xff1a; 1.实例&#xff1a; 以上述图片的顺序表为例&#xff0c; 该顺序表的数据元素从整体来看是乱序的&#xff0c;但如果把这些数据元素分成一块一块的小区间&#xff0c; 第一个区间[0,1]索引上的数据元素都是小于等于10的&#xff0c; 第二…...

STM32F4基本定时器使用和原理详解

STM32F4基本定时器使用和原理详解 前言如何确定定时器挂载在哪条时钟线上配置及使用方法参数配置PrescalerCounter ModeCounter Periodauto-reload preloadTrigger Event Selection 中断配置生成的代码及使用方法初始化代码基本定时器触发DCA或者ADC的代码讲解中断代码定时启动…...

STM32标准库-DMA直接存储器存取

文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA&#xff08;Direct Memory Access&#xff09;直接存储器存取 DMA可以提供外设…...

涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战

“&#x1f916;手搓TuyaAI语音指令 &#x1f60d;秒变表情包大师&#xff0c;让萌系Otto机器人&#x1f525;玩出智能新花样&#xff01;开整&#xff01;” &#x1f916; Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制&#xff08;TuyaAI…...

ios苹果系统,js 滑动屏幕、锚定无效

现象&#xff1a;window.addEventListener监听touch无效&#xff0c;划不动屏幕&#xff0c;但是代码逻辑都有执行到。 scrollIntoView也无效。 原因&#xff1a;这是因为 iOS 的触摸事件处理机制和 touch-action: none 的设置有关。ios有太多得交互动作&#xff0c;从而会影响…...

精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南

精益数据分析&#xff08;97/126&#xff09;&#xff1a;邮件营销与用户参与度的关键指标优化指南 在数字化营销时代&#xff0c;邮件列表效度、用户参与度和网站性能等指标往往决定着创业公司的增长成败。今天&#xff0c;我们将深入解析邮件打开率、网站可用性、页面参与时…...

python执行测试用例,allure报乱码且未成功生成报告

allure执行测试用例时显示乱码&#xff1a;‘allure’ &#xfffd;&#xfffd;&#xfffd;&#xfffd;&#xfffd;ڲ&#xfffd;&#xfffd;&#xfffd;&#xfffd;ⲿ&#xfffd;&#xfffd;&#xfffd;Ҳ&#xfffd;&#xfffd;&#xfffd;ǿ&#xfffd;&am…...

蓝桥杯 冶炼金属

原题目链接 &#x1f527; 冶炼金属转换率推测题解 &#x1f4dc; 原题描述 小蓝有一个神奇的炉子用于将普通金属 O O O 冶炼成为一种特殊金属 X X X。这个炉子有一个属性叫转换率 V V V&#xff0c;是一个正整数&#xff0c;表示每 V V V 个普通金属 O O O 可以冶炼出 …...

CRMEB 中 PHP 短信扩展开发:涵盖一号通、阿里云、腾讯云、创蓝

目前已有一号通短信、阿里云短信、腾讯云短信扩展 扩展入口文件 文件目录 crmeb\services\sms\Sms.php 默认驱动类型为&#xff1a;一号通 namespace crmeb\services\sms;use crmeb\basic\BaseManager; use crmeb\services\AccessTokenServeService; use crmeb\services\sms\…...

OD 算法题 B卷【正整数到Excel编号之间的转换】

文章目录 正整数到Excel编号之间的转换 正整数到Excel编号之间的转换 excel的列编号是这样的&#xff1a;a b c … z aa ab ac… az ba bb bc…yz za zb zc …zz aaa aab aac…; 分别代表以下的编号1 2 3 … 26 27 28 29… 52 53 54 55… 676 677 678 679 … 702 703 704 705;…...