Java使用Springboot集成Es官方推荐(RestHighLevelClient)

这篇具有很好参考价值的文章主要介绍了Java使用Springboot集成Es官方推荐(RestHighLevelClient)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

SpringBoot集成ElasticSearch的四种方式(主要讲解ES官方推荐方式)


  • TransportClient:这种方式即将弃用 官方将在8.0版本彻底去除
  • Data-Es:Spring提供的封装的方式,由于是Spring提供的,所以每个SpringBoot版本对应的ElasticSearch,具体这么个对应的版本,自己去官网看
  • ElasticSearch SQL:将Elasticsearch的Query DSLSQL转换查询,早期有一个第三方的插件Elasticsearch-SQL,后来随着官方也开始做这方面,这个插件好像就没怎么更新了,有兴趣的可以查看https://www.cnblogs.com/jajian/p/10053504.html
  • Rest Client:官方推荐使用,所以我们采用这个方式,这个分为两个Low Level REST Client和High Level REST Client,Low Level REST Client是早期出的API比较简陋了,还需要自己去拼写Query DSL,High Level REST Client使用起来更好用,更符合面向对象的感觉,我们下面使用High Rest Client

注意:我使用的是ES7.6.1版本,等会pom文件依赖时,版本必须与之对应

1.创建Maven项目
2.导入pom依赖
<dependencies>
    <!--SpringBoot集成Es的包-->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-elasticsearch</artifactId>
    </dependency>
    <!--springbootweb包-->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <!--lombok插件-->
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <optional>true</optional>
    </dependency>
    <!--test测试包-->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
    <!--json序列化包-->
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>fastjson</artifactId>
        <version>1.1.15</version>
    </dependency>
</dependencies>

pom导包完成后、需要点开Maven查看引入的elasticsearch-rest-high-level-client的版本是否与你的ElasticSearch版本一致

Java使用Springboot集成Es官方推荐(RestHighLevelClient)

如果不一致需要自己去控制版本(如下代码)

<properties>
    <java.version>1.8</java.version>
    <!--这里是你的es的版本-->
    <elasticsearch.version>7.6.1</elasticsearch.version>
</properties>
3.SpringBoot项目的启动类编写(忽略)
4.编写配置类(RestHighLevelClient)
// 表示这是一个配置类
@Configuration
public class RestElasticSearchClientConfig {
   
    // 将方法的返回结果交给spring管理
    @Bean
    public RestHighLevelClient restHighLevelClient(){
   
        // 主机ip和端口号以及协议
        RestHighLevelClient restHighLevelClient = new RestHighLevelClient(RestClient.builder(
                new HttpHost("localhost", 9200, "http")));
        return restHighLevelClient;
    }
}

到这里我们RestHighLevelClient的配置就做完了

5.测试(使用RestHighLevelClient的Api)

编写测试类,在类中自动注入RestHighLevelClient对象

Java使用Springboot集成Es官方推荐(RestHighLevelClient)文章来源地址https://www.toymoban.com/news/detail-400313.html

6.RestHighLevelClient的Api使用(关于索引)
6.1 简单索引的创建
// 测试索引的创建(不带mapping,ElasticSearch默认会根据你的添加的文档来创建mapping)
@Test
void testCreateIndex() throws IOException {
   
    // 创建索引的请求
    CreateIndexRequest nan_index = new CreateIndexRequest("nan_index");
    // client执行请求
    CreateIndexResponse response = restHighLevelClient.indices().create(nan_index, RequestOptions.DEFAULT);
    System.out.println(response);
}
6.2自定义mapping创建索引
// 带上自定义的mapping来创建索引
@Test
void testCreateMappingIndex() throws IOException {
   
    // 创建索引的请求
    CreateIndexRequest indexRequest = new CreateIndexRequest

到了这里,关于Java使用Springboot集成Es官方推荐(RestHighLevelClient)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【已解决】Java 中使用 ES 高级客户端库 RestHighLevelClient 清理百万级规模历史数据

    🎉工作中遇到这样一个需求场景:由于ES数据库中历史数据过多,占用太多的磁盘空间,需要定期地进行清理,在一定程度上可以释放磁盘空间,减轻磁盘空间压力。 🎈在经过调研之后发现,某服务项目每周产生的数据量已经达到千万级别,单日将近能产生 两百万 的数据量

    2024年02月14日
    浏览(48)
  • ElasticSearch系列 - SpringBoot整合ES:restHighLevelClient.count(countRequest, RequestOptions.DEFAULT)

    restHighLevelClient.count(countRequest, RequestOptions.DEFAULT) 是 Elasticsearch Java High Level REST Client 中用于执行计数请求的方法。 具体来说,它接受两个参数: countRequest:一个 CountRequest 对象,表示计数请求的参数,包括要计数的索引、查询条件等。 RequestOptions.DEFAULT:一个 RequestOptions 对象

    2024年02月08日
    浏览(59)
  • ES聚合查询 基于RestHighLevelClient依赖 Java操作

    一、介绍 (偏自我理解)         1.ES聚合查询通用流程                 1.分组 ( 好比Mysql --- group by )                 2.组内聚合 也叫 组内指标( 好比Mysql --- SUM()、COUNT()、AVG()、MAX()、MIN() )         2.桶(我要是es开发者,我起名叫啥都行)                 1.满足特

    2024年02月06日
    浏览(48)
  • Java与es8实战之二:Springboot集成es8的Java Client

    配置springboot的application.yml 配置es的自签证书 执行如下命令将es容器中的crt文件复制到本地 docker cp 容器名称:/usr/share/elasticsearch/config/certs/http_ca.crt . 将crt文件放至springboot项目的resource路径下

    2024年02月12日
    浏览(42)
  • ES客户端RestHighLevelClient的使用

    默认情况下,ElasticSearch使用两个端口来监听外部TCP流量。 9200端口:用于所有通过HTTP协议进行的API调用。包括搜索、聚合、监控、以及其他任何使用HTTP协议的请求。所有的客户端库都会使用该端口与ElasticSearch进行交互。 9300端口:是一个自定义的二进制协议,用于集群中各

    2024年02月03日
    浏览(63)
  • Resthighlevelclient被弃用后,ES 8.x 最新用法 java api

    一、ES 8.x 整合springBoot 1、导入依赖 2、创建 ElasticsearchClient 二、ES java api 1、搜索 2、单个插入(更新)文档 3、批量插入(更新)文档

    2024年02月14日
    浏览(43)
  • 项目中使用es(二):使用RestHighLevelClient操作elasticsearch

    写在前面 之前写了有关elasticsearch的搭建和使用springboot操作elasticsearch,这次主要简单说下使用RestHighLevelClient工具包操作es。 搭建环境和选择合适的版本 环境还是以springboot2.7.12为基础搭建的,不过这不重要,因为这次想说的是RestHighLevelClient操作elasticsearch,RestHighLevelClient版本

    2024年02月14日
    浏览(46)
  • springboot集成es 插入和查询的简单使用

    第一步:引入依赖 第二步:配置yml文件,在spring下面加上这个 然后启动项目,看到出现这个就是成功了 第三步: 创建一个常量类,用于存储我们一会儿要用到的名称 第四步:创建Es实体类,注意要加上@Document注解 第五步:写测试接口,这里展示了插入和查询两个方法 然后

    2024年02月11日
    浏览(40)
  • Java(102):ES7.14,RestHighLevelClient创建索引时报错 create is deprecated

    一、Maven引用 二、遇到问题:ES7.14,RestHighLevelClient创建索引时报错 create  is deprecated \\\'create(org.elasticsearch.action.admin.indices.create.CreateIndexRequest, org.elasticsearch.client.RequestOptions)\\\' is deprecated   出现原因 : 这是因为在使用create方法时 , 会有两个选择 , 其中一个已经过时了 client.indic

    2023年04月09日
    浏览(40)
  • spring data elasticsearch使用7.x客户端兼容es 8.x和使用ssl构建RestHighLevelClient

    es在7.x中默认加入elastic security组件所以java client需要使用ssl连接es server. es 8.x 中废弃了 RestHighLevelClient ,使用新版的 java api client ,但是spring data elasticsearch还未更新到该版本.所以需要兼容es 8.x 如下是RestHighLevelClient构建方法: spring data elasticsearch客户端依赖(基于spring boot2.7使用最新

    2024年02月13日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包