欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 锐评 > 【SpringBoot中怎么使用ElasticSearch】

【SpringBoot中怎么使用ElasticSearch】

2025/2/26 4:14:05 来源:https://blog.csdn.net/qq_44734705/article/details/144637035  浏览:    关键词:【SpringBoot中怎么使用ElasticSearch】

springboot中怎么使用ElasticSearch

在Spring Boot中使用ElasticSearch,可以通过集成Spring Data ElasticSearch来实现。以下是一个详细的步骤指南,帮助你设置和使用ElasticSearch与Spring Boot。

1. 添加依赖

首先,在你的Spring Boot项目的pom.xml文件中添加Spring Data ElasticSearch的依赖。

<dependencies><!-- Spring Boot Starter Data ElasticSearch --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-elasticsearch</artifactId></dependency><!-- 如果使用Java REST High Level Client,可以添加这个依赖 --><dependency><groupId>org.elasticsearch.client</groupId><artifactId>elasticsearch-rest-high-level-client</artifactId><version>7.10.2</version> <!-- 确保版本与你的ElasticSearch服务器匹配 --></dependency><!-- 其他依赖 -->
</dependencies>

2. 配置ElasticSearch

application.propertiesapplication.yml中配置ElasticSearch的连接信息。

# application.properties
spring.elasticsearch.rest.uris=http://localhost:9200

或者

# application.yml
spring:elasticsearch:rest:uris: http://localhost:9200

3. 创建实体类

创建一个实体类,并使用Spring Data ElasticSearch的注解来映射ElasticSearch的索引和文档。

import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.Document;@Document(indexName = "my-index")
public class MyEntity {@Idprivate String id;private String name;private String description;// Getters and Setters
}

4. 创建Repository接口

创建一个继承自ElasticsearchRepository的接口,用于数据访问。

import org.springframework.data.elasticsearch.repository.ElasticsearchRepository;public interface MyEntityRepository extends ElasticsearchRepository<MyEntity, String> {// 自定义查询方法可以在这里定义,如果需要的话
}

5. 使用Service和Controller

在Service中注入Repository,并编写业务逻辑。

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;import java.util.List;@Service
public class MyEntityService {@Autowiredprivate MyEntityRepository repository;public List<MyEntity> findAll() {return repository.findAll();}public MyEntity save(MyEntity entity) {return repository.save(entity);}// 其他业务逻辑
}

在Controller中调用Service,并处理HTTP请求。

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;import java.util.List;@RestController
@RequestMapping("/my-entities")
public class MyEntityController {@Autowiredprivate MyEntityService service;@GetMappingpublic List<MyEntity> getAllEntities() {return service.findAll();}@PostMappingpublic MyEntity createEntity(@RequestBody MyEntity entity) {return service.save(entity);}// 其他HTTP处理方法
}

6. 启动应用程序

确保ElasticSearch服务器正在运行,然后启动你的Spring Boot应用程序。你现在应该能够通过HTTP请求与ElasticSearch进行交互。

7. 测试

你可以使用Postman或curl来测试你的API。例如,创建一个新的实体:

curl -X POST "http://localhost:8080/my-entities" -H "Content-Type: application/json" -d '{"id": "1","name": "Test Entity","description": "This is a test entity."
}'

获取所有实体:

bash复制代码curl -X GET "http://localhost:8080/my-entities"

这样,你就完成了在Spring Boot中集成和使用ElasticSearch的基本步骤。如果需要更高级的功能,比如自定义查询、分页、排序等,可以参考Spring Data ElasticSearch的官方文档。或者这个文档https://blog.csdn.net/ZGL_cyy/article/details/112796302

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词