SpringBoot集成Elasticsearch过程实例

 更新时间:2020年04月03日 09:12:18   作者:闲人鹤  
这篇文章主要介绍了SpringBoot集成Elasticsearch过程实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

1. 准备工作

  需要提前安装好Elasticsearch,访问地址:http://127.0.0.1:9200/ 得到以下结果,得到cluster_name,下面配置使用。

{
 "name" : "O8GslS3",
 "cluster_name" : "docker-cluster",
 "cluster_uuid" : "pviTqfXtR3GtnxF-Po-_aA",
 "version" : {
  "number" : "6.5.0",
  ......
 },
 "tagline" : "You Know, for Search"
}

2. 使用Maven创建SpringBoot工程

  配置Maven的pom.xml文件

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-parent</artifactId>
    <version>2.1.6.RELEASE</version>
  </parent>

  <dependencies>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-data-elasticsearch</artifactId>
    </dependency>
  </dependencies>

  注意:spring-boot-starter-data-elasticsearch包,引用的是spring-data-elasticsearch包,而spring-data-elasticsearch包的版本与elasticsearch服务版本是有兼容性问题的。

  目前并不支持elasticsearch7.x,参考:https://github.com/spring-projects/spring-data-elasticsearch

  配置application.yml文件

spring:
 data:
  elasticsearch:
   cluster-name: docker-cluster
   cluster-nodes: 127.0.0.1:9300
   repositories:
    enabled: true

3. 代码

  实体类。使用@Document注解,参数indexName是索引名称,type是type名称。

// 声明索引名称,type名称@Document(indexName = "houseindex", type = "house")
public class HouseIndexTemplate {

  @Id
  private Long id;
  private String name;   ......
}

  访问接口。使用@Repository注解,并继承ElasticsearchRepository接口,就可以直接访问的。

  有两个参数:1.返回的对象,2.ID参数数据类型

@Repository
public interface HouseRepository extends ElasticsearchRepository<HouseIndexTemplate, Long> {
}

  测试用例

@RunWith(SpringRunner.class)
@SpringBootTest(classes = Application.class)
public class UserServiceTest {

  @Autowired
  private HouseRepository houseRepository;

  @Test
  public void selectUser(){    HouseIndexTemplate template = new HouseIndexTemplate();    template.setId(1);    template.setName("Tom");
    houseRepository.save(template);
  }

}

4. 异常解释

  问题1: NoNodeAvailableException[None of the configured nodes are available: [{#transport#-1}{IVH9QII0QrOU9GkXdsJPiA}{127.0.0.1}{127.0.0.1:9300}]]

  原因:这是说配置的节点不可用,原因答题有3种可能:(1)IP地址或端口填写有误;(2)cluster_name填写有误;(3)Elasticsearch服务已关闭

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • SpringBoot整合Hutool实现文件上传的使用示例

    SpringBoot整合Hutool实现文件上传的使用示例

    文件上传在项目经常会用到,本文主要介绍了SpringBoot整合Hutool实现文件上传的使用示例,具有一定的参考价值,感兴趣的可以了解一下
    2023-11-11
  • SpringBoot整合mybatis-plus快速入门超详细教程

    SpringBoot整合mybatis-plus快速入门超详细教程

    mybatis-plus 是一个 Mybatis 的增强工具,在 Mybatis 的基础上只做增强不做改变,为简化开发、提高效率而生,本文给大家分享SpringBoot整合mybatis-plus快速入门超详细教程,一起看看吧
    2021-09-09
  • SpringBoot配置文件中数据库密码加密两种方案(推荐)

    SpringBoot配置文件中数据库密码加密两种方案(推荐)

    SpringBoot项目经常将连接数据库的密码明文放在配置文件里,安全性就比较低一些,尤其在一些企业对安全性要求很高,因此我们就考虑如何对密码进行加密,文中给大家介绍加密的两种方式,感兴趣的朋友一起看看吧
    2019-10-10
  • SpringBoot远程访问redis服务器问题剖析

    SpringBoot远程访问redis服务器问题剖析

    使用了SpringBoot的项目,在远程连接Redis服务器时,会遇倒一些小问题,下面通过本文给大家全面解析SpringBoot远程访问redis服务器问题,需要的朋友参考下吧
    2017-04-04
  • java从控制台接收一个数字的实例详解

    java从控制台接收一个数字的实例详解

    这篇文章主要介绍了java从控制台接收一个数字的实例详解的相关资料,这里提供实例代码,注释说明清晰,需要的朋友可以参考下
    2017-07-07
  • Spring MVC请求转发与请求重定向的示例详解

    Spring MVC请求转发与请求重定向的示例详解

    转发指服务器接收请求后,从一个资源跳转到另一个资源中,请求转发是一次请求,不会改变浏览器的请求地址,这篇文章主要介绍了Spring MVC请求转发与请求重定向的相关知识,需要的朋友可以参考下
    2023-09-09
  • mybatis如何使用Java8的日期LocalDate和LocalDateTime详解

    mybatis如何使用Java8的日期LocalDate和LocalDateTime详解

    这篇文章主要给大家介绍了关于mybatis如何使用Java8的日期LocalDate和LocalDateTime的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2017-09-09
  • hibernate-validator后端表单数据校验的使用示例详解

    hibernate-validator后端表单数据校验的使用示例详解

    这篇文章主要介绍了hibernate-validator后端表单数据校验的使用,hibernate-validator提供的校验方式为在类的属性上加入相应的注解来达到校验的目的,本文结合示例代码给大家介绍的非常详细,需要的朋友可以参考下
    2022-08-08
  • java中Map、Set、List的简单使用教程(快速入门)

    java中Map、Set、List的简单使用教程(快速入门)

    这篇文章主要给大家介绍了关于java中Map、Set、List简单使用教程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • Java 选择、冒泡排序、折半查找(实例讲解)

    Java 选择、冒泡排序、折半查找(实例讲解)

    下面小编就为大家带来一篇Java 选择、冒泡排序、折半查找(实例讲解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08

最新评论