引言
ElasticSearch是一个开源的、分布式的全文搜索引擎,它使用Java编写,并于Apache Lucene项目有紧密的集成。它提供了快速、实时的搜索功能,支持海量数据的存储和检索。而Spring Boot是一个用于简化Spring应用开发的框架,它提供了许多开箱即用的特性,使得Spring应用的开发变得更加简便。
本篇博客将详细介绍如何在Spring Boot 1.5.6中集成ElasticSearch 7.2.0,并展示一些常见的ElasticSearch操作。
步骤一:添加依赖
首先,在你的Spring Boot工程的pom.xml文件中,添加以下依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-elasticsearch</artifactId>
</dependency>
步骤二:配置ElasticSearch连接
接下来,在你的Spring Boot工程的application.properties文件中,添加ElasticSearch的配置信息:
spring.data.elasticsearch.repositories.enabled=true
spring.elasticsearch.rest.uris=localhost:9200
其中,spring.data.elasticsearch.repositories.enabled设置为true,表示启用Elasticsearch的repository功能。
步骤三:定义实体类
然后,定义一个与ElasticSearch索引对应的实体类,例如:
@Document(indexName = "my_index", type = "my_type")
public class MyEntity {
@Id
private String id;
private String name;
// 省略Getter和Setter方法
}
在实体类上使用@Document注解,指定索引名称和类型。
步骤四:定义Repository
在你的Spring Boot工程中,定义一个继承自ElasticsearchRepository接口的Repository接口,例如:
public interface MyEntityRepository extends ElasticsearchRepository<MyEntity, String> {
}
步骤五:编写业务逻辑
最后,在你的Spring Boot工程中,编写业务逻辑:
@Service
public class MyEntityService {
@Autowired
private MyEntityRepository myEntityRepository;
public void save(MyEntity myEntity) {
myEntityRepository.save(myEntity);
}
public MyEntity getById(String id) {
return myEntityRepository.findById(id).orElse(null);
}
public void delete(String id) {
myEntityRepository.deleteById(id);
}
}
步骤六:测试ElasticSearch操作
现在,你可以使用MyEntityService来测试ElasticSearch的操作了。例如:
@RunWith(SpringRunner.class)
@SpringBootTest
public class MyEntityServiceTest {
@Autowired
private MyEntityService myEntityService;
@Test
public void testSave() {
MyEntity myEntity = new MyEntity();
myEntity.setId("1");
myEntity.setName("Test Name");
myEntityService.save(myEntity);
}
@Test
public void testGetById() {
MyEntity myEntity = myEntityService.getById("1");
System.out.println(myEntity);
}
@Test
public void testDelete() {
myEntityService.delete("1");
}
}
结论
通过以上步骤,你已经成功地在Spring Boot1.5.6中集成了ElasticSearch7.2.0_ES,并进行了一些常见的ElasticSearch操作。希望本篇博客能对你有所帮助。
参考链接
本文来自极简博客,作者:时光旅者,转载请注明原文链接:SpringBoot1.5.6集成ElasticSearch7.2.0_ES的各种操作