前提声明

在新版本的spring boot中逐渐放弃了对Spring Data Elasticsearch的支持,所以不推荐使用,使用ES官方推出的Java High Rest Client.

引入依赖

<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-high-level-client</artifactId>
<version>7.3.2</version>
</dependency>
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-client</artifactId>
<version>7.3.2</version>
</dependency>
<dependency>
<groupId>org.elasticsearch</groupId>
<artifactId>elasticsearch</artifactId>
<version>7.3.2</version>
</dependency>

我们用到的只是elasticsearch-rest-high-level-client,但这三个都要有,不然就会报错。我最初没有加入elasticsearch-rest-client,提示

Caused by: java.lang.NoClassDefFoundError: org/elasticsearch/action/admin/indices/analyze/AnalyzeRequest

查阅官方文档发现了它们之间有依赖关系:

Dependenciesedit
The High Level Java REST Client depends on the following artifacts and their transitive dependencies: org.elasticsearch.client:elasticsearch-rest-client
org.elasticsearch:elasticsearch

而且版本号尽量一致,不一致可能会导致某些api不可用。

说明一下,这个项目我在用的时候版本号最新的是8.0了,但因为我docker安装的版本是7.3.2,所以都改成了一样的,大家有个参考。

application.yml配置

spring
elasticsearch:
rest:
uris: http://192.168.0.1:9200

简单使用

贴一段代码给大家看一下吧,官网都有的,相应转换一下就可以了,我的只是参考一下,欢迎指正。

/**
* @author Gyyyang
* @date 2019/7/23
*/
@Repository
class VehicleAlarmSaveRepositoryImpl @Autowired constructor(
private var client: RestHighLevelClient
):VehicleAlarmSaveRepository { private val logger = LoggerFactory.getLogger("saveAlarm") private val response = object : ActionListener<IndexResponse> {
override fun onFailure(exception: Exception) {
exception.printStackTrace()
} override fun onResponse(response: IndexResponse) {
logger.info("CH:报警索引建立成功 EN:alarm Index create success")
}
} override fun saveAlarm(alarmMessage: VehicleAlarmMessage) {
val message = JSON.toJSONString(alarmMessage)
val indexRequest = IndexRequest("vehicle-alarm").source(message,XContentType.JSON)
client.indexAsync(indexRequest, RequestOptions.DEFAULT,response)
}
}
// 懒得截取就全贴出来吧~~

个人理解,不作为教程,欢迎交流指正!

springboot 配置elasticsearch Java High Rest Client的更多相关文章

  1. elasticsearch java 客户端之Client简介

    elasticsearch通过构造一个client对外提供了一套丰富的java调用接口.总体来说client分为两类cluster信息方面的client及数据(index)方面的client.这两个大 ...

  2. springBoot配置elasticsearch搜索

    1.本地安装elasticsearch服务,具体过程见上一篇文章(安装和配置elasticsearch服务集群) 2.修改项目中pom文件,引入搜索相关jar包 <!-- elasticsear ...

  3. State of the official Elasticsearch Java clients

    Elasticsearch Java Clients | Elastic https://www.elastic.co/blog/state-of-the-official-elasticsearch ...

  4. Elasticsearch Java Rest Client API 整理总结 (二) —— SearchAPI

    目录 引言 Search APIs Search API Search Request 可选参数 使用 SearchSourceBuilder 构建查询条件 指定排序 高亮请求 聚合请求 建议请求 R ...

  5. Elasticsearch Java Rest Client简述

    ESJavaClient的历史 JavaAPI Client 优势:基于transport进行数据访问,能够使用ES集群内部的性能特性,性能相对好 劣势:client版本需要和es集群版本一致,数据序 ...

  6. elasticsearch Java Client用户指南

    这里使用的Java客户端版本是5.1.2,Elasticsearch的版本号也要是5.1.2,否则一些功能可能不支持. 之前介绍过Spring Data Elasticsearch,那里也是使用了本文 ...

  7. Elasticsearch Java Rest Client API 整理总结 (三)——Building Queries

    目录 上篇回顾 Building Queries 匹配所有的查询 全文查询 Full Text Queries 什么是全文查询? Match 全文查询 API 列表 基于词项的查询 Term Term ...

  8. Elasticsearch Java client(ES Client 简介、Java REST Client、Java Client、Spring Data Elasticsearch)

    elasticsearch系列七:ES Java客户端-Elasticsearch Java client(ES Client 简介.Java REST Client.Java Client.Spri ...

  9. Java HotSpot(TM) Client VM 与 server VM 的配置

    在Linux 6.5 下安装Elasticsearch 出现错误: JVM is using the client VM [Java HotSpot(TM) Client VM] but should ...

随机推荐

  1. ipcs

    用于报告Linux中进程间通信设施的状态,显示的信息包括消息列表.共享内存和信号量的信息

  2. 干货 | column generation求解VRPTW问题 java代码分享

    00 前言 经过小编不断的努力,关于column generation求解VRPTW的代码终于新鲜出炉啦. 01 运行说明 关于这部分的代码,这里提供两个版本. 第一个版本GitHub一个叫Semin ...

  3. java基础-数据输入

    import java.util.Scanner; public class ScannerTest { public static void main(String[] args) { //身高未知 ...

  4. mysql addtime() 函数

    mysql> select addtime('1997-12-31 23:59:52' , '1 1:1:1'); +-------------------------------------- ...

  5. mysql 日期处理

    mysql> select curdate(); +------------+ | curdate() | +------------+ | -- | +------------+ row in ...

  6. iview 的事件绑定

    iview 内的组件样式是不错,有时候我们想用它且绑定某个事件: 比如,我们使用了步骤条组件(Steps),然后绑定点击事件,实现每次点击某个步骤条内的step 就显示此step的具体信息, < ...

  7. 第10组 Beta冲刺(1/5)

    链接部分 队名:女生都队 组长博客: 博客链接 作业博客:博客链接 小组内容 恩泽(组长) 过去两天完成了哪些任务 描述 tomcat的学习与实现 服务器后端部署,API接口的beta版实现 后端代码 ...

  8. js - 总结一下条件语句优化

    [笔记] // 简单的语句用三目运算符也可以的(除了需要return的) 1 == 1 ? console.log('执行了...1') : console.log(); 1 == 2 ? conso ...

  9. [web前端] react router4.0 登录后返回之前浏览页面(回到来源页)

    本文链接:https://blog.csdn.net/zeroyulong/article/details/81911704困扰了好久的问题,最终还是在官方文档上找到了答案(看英文文档真心难受啊~~) ...

  10. vue elementUi tree 懒加载使用详情

    背景:vue下使用elementUI 文档:http://element-cn.eleme.io/#/zh-CN/component/tree#tree-shu-xing-kong-jian 需求:只 ...