springboot 配置elasticsearch Java High Rest Client
前提声明
在新版本的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的更多相关文章
- elasticsearch java 客户端之Client简介
elasticsearch通过构造一个client对外提供了一套丰富的java调用接口.总体来说client分为两类cluster信息方面的client及数据(index)方面的client.这两个大 ...
- springBoot配置elasticsearch搜索
1.本地安装elasticsearch服务,具体过程见上一篇文章(安装和配置elasticsearch服务集群) 2.修改项目中pom文件,引入搜索相关jar包 <!-- elasticsear ...
- State of the official Elasticsearch Java clients
Elasticsearch Java Clients | Elastic https://www.elastic.co/blog/state-of-the-official-elasticsearch ...
- Elasticsearch Java Rest Client API 整理总结 (二) —— SearchAPI
目录 引言 Search APIs Search API Search Request 可选参数 使用 SearchSourceBuilder 构建查询条件 指定排序 高亮请求 聚合请求 建议请求 R ...
- Elasticsearch Java Rest Client简述
ESJavaClient的历史 JavaAPI Client 优势:基于transport进行数据访问,能够使用ES集群内部的性能特性,性能相对好 劣势:client版本需要和es集群版本一致,数据序 ...
- elasticsearch Java Client用户指南
这里使用的Java客户端版本是5.1.2,Elasticsearch的版本号也要是5.1.2,否则一些功能可能不支持. 之前介绍过Spring Data Elasticsearch,那里也是使用了本文 ...
- Elasticsearch Java Rest Client API 整理总结 (三)——Building Queries
目录 上篇回顾 Building Queries 匹配所有的查询 全文查询 Full Text Queries 什么是全文查询? Match 全文查询 API 列表 基于词项的查询 Term Term ...
- 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 ...
- Java HotSpot(TM) Client VM 与 server VM 的配置
在Linux 6.5 下安装Elasticsearch 出现错误: JVM is using the client VM [Java HotSpot(TM) Client VM] but should ...
随机推荐
- ipcs
用于报告Linux中进程间通信设施的状态,显示的信息包括消息列表.共享内存和信号量的信息
- 干货 | column generation求解VRPTW问题 java代码分享
00 前言 经过小编不断的努力,关于column generation求解VRPTW的代码终于新鲜出炉啦. 01 运行说明 关于这部分的代码,这里提供两个版本. 第一个版本GitHub一个叫Semin ...
- java基础-数据输入
import java.util.Scanner; public class ScannerTest { public static void main(String[] args) { //身高未知 ...
- mysql addtime() 函数
mysql> select addtime('1997-12-31 23:59:52' , '1 1:1:1'); +-------------------------------------- ...
- mysql 日期处理
mysql> select curdate(); +------------+ | curdate() | +------------+ | -- | +------------+ row in ...
- iview 的事件绑定
iview 内的组件样式是不错,有时候我们想用它且绑定某个事件: 比如,我们使用了步骤条组件(Steps),然后绑定点击事件,实现每次点击某个步骤条内的step 就显示此step的具体信息, < ...
- 第10组 Beta冲刺(1/5)
链接部分 队名:女生都队 组长博客: 博客链接 作业博客:博客链接 小组内容 恩泽(组长) 过去两天完成了哪些任务 描述 tomcat的学习与实现 服务器后端部署,API接口的beta版实现 后端代码 ...
- js - 总结一下条件语句优化
[笔记] // 简单的语句用三目运算符也可以的(除了需要return的) 1 == 1 ? console.log('执行了...1') : console.log(); 1 == 2 ? conso ...
- [web前端] react router4.0 登录后返回之前浏览页面(回到来源页)
本文链接:https://blog.csdn.net/zeroyulong/article/details/81911704困扰了好久的问题,最终还是在官方文档上找到了答案(看英文文档真心难受啊~~) ...
- vue elementUi tree 懒加载使用详情
背景:vue下使用elementUI 文档:http://element-cn.eleme.io/#/zh-CN/component/tree#tree-shu-xing-kong-jian 需求:只 ...