SpringBoot1.5.6集成ElasticSearch7.2.0_ES的各种操作

时光旅者 2024-06-04 ⋅ 25 阅读

引言

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操作。希望本篇博客能对你有所帮助。

参考链接

  1. Spring Data Elasticsearch官方文档

  2. Elasticsearch官网


全部评论: 0

    我有话说: