SpringBoot整合Elasticsearch

SpringBoot整合Elasticsearch

1、Elasticsearch准备

参考Elasticsearch环境安装

2、代码

pom.xml

<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.0modelVersion>
	<groupId>com.minegroupId>
	<artifactId>springboot-elasticsearchartifactId>
	<version>0.0.1-SNAPSHOTversion>

	<parent>
		<groupId>org.springframework.bootgroupId>
		<artifactId>spring-boot-starter-parentartifactId>
		<version>2.0.3.RELEASEversion>
		<relativePath />
	parent>
	<dependencies>
		<dependency>
			<groupId>org.springframework.bootgroupId>
			<artifactId>spring-boot-starter-webartifactId>
		dependency>
		<dependency>
			<groupId>org.springframework.bootgroupId>
			<artifactId>spring-boot-starter-data-elasticsearchartifactId>
		dependency>
		<dependency>
			<groupId>org.projectlombokgroupId>
			<artifactId>lombokartifactId>
		dependency>
	dependencies>
project>

application.properties

spring.data.elasticsearch.cluster-name=elasticsearch
spring.data.elasticsearch.cluster-nodes=192.168.31.150:9300

User

package com.mine.model;

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

import lombok.Data;

@Document(indexName="mine_index_1", type="user")
@Data
public class User {
	@Id
	private String id;
	
	private String name;
	
	private Integer age;
	
	private Integer sex;
}

UserDao

package com.mine.dao;

import org.springframework.data.repository.CrudRepository;

import com.mine.model.User;

public interface UserDao extends CrudRepository<User, String> {

}

UserController

package com.mine.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.mine.dao.UserDao;
import com.mine.model.User;

@RestController
public class UserController {
	@Autowired
	private UserDao userDao;
	
	@RequestMapping("/addUser")
	public User addUser(@RequestBody User user) {
		return userDao.save(user);
	}

	@RequestMapping("/findUser")
	public Optional<User> findUser(String id) {
		return userDao.findById(id);
	}

	@RequestMapping("/findAllUser")
	public Iterable<User> findAllUser() {
		return userDao.findAll();
	}
}

EsApp

package com.mine;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.data.elasticsearch.repository.config.EnableElasticsearchRepositories;

@SpringBootApplication
@EnableElasticsearchRepositories(basePackages = "com.mine.dao")
public class EsApp {

	public static void main(String[] args) {
		SpringApplication.run(EsApp.class, args);
	}

}

你可能感兴趣的:(elasticsearch)