Spring Boot elasticsearch7.6.2基础操作:创建索引、新增数据、查询数据


在本文中,我们将深入探讨如何使用Spring Boot与Elasticsearch 7.6.2进行基本操作,包括创建索引、添加数据以及查询数据。Elasticsearch是一个强大的分布式搜索引擎,而Spring Boot是Java开发中的轻量级框架,两者结合使得开发过程中对Elasticsearch的集成变得简单高效。 我们需要在Spring Boot项目中引入Elasticsearch的相关依赖。在`pom.xml`文件中,你需要添加如下依赖: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-elasticsearch</artifactId> </dependency> ``` 接下来,我们需要配置Elasticsearch连接。在`application.properties`或`application.yml`中,添加以下配置: ``` spring.data.elasticsearch.cluster-name=your_cluster_name spring.data.elasticsearch.cluster-nodes=your_elasticsearch_node:9300 ``` 这里的`your_cluster_name`和`your_elasticsearch_node`应替换为实际的Elasticsearch集群名称和节点地址。 现在,我们创建一个实体类,比如`User`,用于映射Elasticsearch中的文档: ```java import org.springframework.data.annotation.Id; import org.springframework.data.elasticsearch.annotations.Document; @Document(indexName = "users") public class User { @Id private String id; private String name; private String email; // getters and setters } ``` 接着,创建一个ElasticsearchRepository接口来操作数据: ```java import org.springframework.data.elasticsearch.repository.ElasticsearchRepository; public interface UserRepository extends ElasticsearchRepository<User, String> { } ``` 有了这些基础,我们可以进行创建索引、新增数据和查询数据的操作。 **创建索引:** 当首次向Elasticsearch中添加`User`对象时,Spring Data Elasticsearch会自动创建名为`users`的索引。如果你需要手动创建,可以使用`ElasticsearchOperations`的`createIndex`方法。 **新增数据:** ```java @Autowired private UserRepository userRepository; public void saveUser(User user) { userRepository.save(user); } ``` **查询数据:** Spring Data Elasticsearch提供了多种查询方式。例如,按ID查询: ```java public User getUserById(String id) { return userRepository.findById(id).orElse(null); } ``` 范围查询: ```java public List<User> findUsersByAgeBetween(int minAge, int maxAge) { return userRepository.findAll(byAgeBetween(minAge, maxAge)); } private QueryBuilder byAgeBetween(int minAge, int maxAge) { return QueryBuilders.rangeQuery("age").gte(minAge).lte(maxAge); } ``` 全文搜索: ```java public List<User> searchUsers(String keyword) { NativeSearchQueryBuilder queryBuilder = new NativeSearchQueryBuilder() .withQuery(QueryBuilders.matchQuery("name", keyword)) .withPageable(PageRequest.of(0, 10)); SearchResponse response = elasticsearchTemplate.query(queryBuilder.build(), new SearchResultMapper() { @Override public <T> T map(SearchHit<T> searchHit) { return searchHit.getContent(); } }); return response.getHits().getContent(); } ``` 以上就是使用Spring Boot和Elasticsearch 7.6.2进行基础操作的基本流程。通过这种方式,你可以轻松地在应用中集成Elasticsearch,实现高效的搜索功能。记住,Elasticsearch的强大还在于它的聚合分析、地理位置搜索等高级特性,这些都是进一步提升应用性能的关键。
























































































































- 1
- 2


- 粉丝: 13
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 储能参与现货电能量-调频辅助服务市场的双层交易决策研究附Matlab代码.rar
- 城市轨道交通供电系统研究附Matlab代码.rar
- 采用SRF算法的分流有源滤波器【并联有源滤波器的仿真电路可降低谐波和无功功率】附Matlab代码.rar
- 电池与太阳能光伏系统的充电控制,通过比较电气需求和发电数据来控制电池何时充电附Simulink仿真.rar
- 【最新版】 GJB 777B-2021 交流测速发电机通用规范.rar
- 创新!高级!【日前、日内非滚动、日内滚动调度以及实时修正】考虑需求侧响应的智慧楼宇多时间尺度调度策略附Matlab代码.rar
- 对采样磁场进行低频剂量评估附Matlab代码.rar
- 电动汽车参与运行备用的能力评估及其仿真分析附Matlab代码.rar
- 多接地配电系统的基于PMU的系统状态估计附Matlab代码.rar
- 多输入多输出系统(MIMO)中的水填充算法研究附Matlab代码.rar
- 【最新版】 GJB 151C-2024 军用设备和分系统 电磁发射和敏感度要求与测量.rar
- 【最新版】 GJB 939A-2022《外购器材的质量管理》.rar
- 【最新版】 GJB 981A-2021《粘弹阻尼材料强迫非共振型动态测试方法》.rar
- 【最新版】 GJB 981A-2021《粘弹阻尼材料强迫非共振型动态测试方法》 (1).rar
- 【最新版】 GJB 2489A-2023《航空机载设备履历本及产品合格证编制要求》.rar
- 【最新版】 GJB 5792A-2021《军用涉密信息系统电磁屏蔽体等级划分和测量方法》.rar


