spring boot>>整合elasticsearch

在這一篇文章開始之前,你需要先安裝一個ElasticSearch,如果你是windows環境可以參考windows上安裝 ElasticSearch-Head插件和Elasticsearch這篇文章。

1、啓動 ElasticSearch服務。

這篇文章簡單的介紹一下 spring boot整合Elasticsearch。

2、創建項目,pom文件中添加以下依賴

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

		<dependency>
			<groupId>org.projectlombok</groupId>
			<artifactId>lombok</artifactId>
			<optional>true</optional>
		</dependency>

3、配置文件

server.port=8074

spring.data.elasticsearch.repositories.enabled=true
spring.data.elasticsearch.cluster-name=my-el
#9300與9200區別
#9300端口:ES節點之間的通訊使用,是TCP協議端口考號,ES集羣之間通訊端口號
#9200端口: ES節點和 外部通訊使用,暴露ES restful 接口端口號
spring.data.elasticsearch.cluster-nodes=192.168.41.26:9300

4、創建用戶實體

/**
 * 
 * 功能:<br>
 * 作者:小碼張<br>
 * 時間:2019年3月20日<br>
 * 版本:1.0<br>
 *
 */
@Document(indexName="userinfo", type="user")
//indexName索引名稱 可以理解爲數據庫名 必須爲小寫 不然會報org.elasticsearch.indices.InvalidIndexNameException異常
//type類型 可以理解爲表名
@Data
public class UserInfo {
	
	@Id
	private String id;
	private String name;
	private String age;
}

5、創建UserRepository,繼承CrudRepository,代碼如下:

/**
 * 
 * 功能:CrudRepository內部封裝了對 Elasticsearch 的CRUD<br>
 * 作者:小碼張<br>
 * 時間:2019年3月20日<br>
 * 版本:1.0<br>
 *
 */
@Component
public interface UserRepository extends CrudRepository<UserInfo, String>{

}

6、最後新建一個controller進行測試

@RestController
public class EsController {

	@Autowired
	private UserRepository userRepository;
	
	@RequestMapping("/save")
	public String saveUser() {
		UserInfo user = new UserInfo();
		user.setId("456321");
		user.setName("張三");
		user.setAge("18");
		userRepository.save(user);
		return "sueecss";
	}
	
	@RequestMapping("/findById")
	public Optional<UserInfo> findById() {
		return userRepository.findById("456321");
	}
}

測試結果

注意:我的 Spring boot 版本是 2.0.1.RELEASE。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章