SpringBoot2.0之整合ElasticSearch

Posted toov5

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringBoot2.0之整合ElasticSearch相关的知识,希望对你有一定的参考价值。

就类比数据库到时候去实现

服务器端配置 集群名字  与yml名字一致

pom:

<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.toov5</groupId>
  <artifactId>springboot-es</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  
      <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.0.RELEASE</version>
        <relativePath /> <!-- lookup parent from repository -->
    </parent>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!-- springboot 整合es -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-elasticsearch</artifactId>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>
    </dependencies>
  
</project>

项目结构:

Entity:

package com.toov5.entity;

import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.Document;

import lombok.Data;
  
 @Document(indexName="toov5",type="user")   //索引的名字  类型
 @Data 
public class UserEntity {
  @Id    
  private String id;
  private String name;
  private Integer age;
  private Integer sex;
}

Dao:

package com.toov5.dao;

import org.springframework.data.repository.CrudRepository;

import com.toov5.entity.UserEntity;

public interface UserDao extends CrudRepository<UserEntity, String> {

    
    
}

Controller:

package com.toov5.controller;

import java.util.Optional;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import com.toov5.dao.UserDao;
import com.toov5.entity.UserEntity;

@RestController
public class EsController {
    
    @Autowired
    private UserDao userDao;
    
    //添加文档
    @RequestMapping("/addUser")
    public UserEntity addUser(@RequestBody UserEntity userEntity) {
      return userDao.save(userEntity);    
    } 
    
    //查询文档
    @RequestMapping("/findById")
    public Optional<UserEntity> findById(String id) {
       return userDao.findById(id);    
    }
    
}

 

成功:

查看:

 

 

 查询:

 

以上是关于SpringBoot2.0之整合ElasticSearch的主要内容,如果未能解决你的问题,请参考以下文章

SpringBoot2.0之整合ElasticSearch

SpringBoot2.0之整合ActiveMQ(点对点模式)

SpringBoot2.0之整合ActiveMQ(发布订阅模式)

SpringBoot2.0之整合Apollo

SpringBoot2.x开发案例之整合Quartz任务管理系统

SpringBoot2.0应用:SpringBoot2.0整合RabbitMQ