首页下载资源后端Spring Boot 集成 Elasticsearch

ZIPSpring Boot 集成 Elasticsearch

qq_2975285747.92KB需要积分:1

资源文件列表:

EsDemo.zip 大约有59个文件
  1. EsDemo/
  2. EsDemo/.gitignore 395B
  3. EsDemo/.idea/
  4. EsDemo/.idea/.gitignore 190B
  5. EsDemo/.idea/compiler.xml 603B
  6. EsDemo/.idea/dataSources/
  7. EsDemo/.idea/dataSources/df6dd1c2-3c59-4442-909a-f2e252fecb94.xml 597B
  8. EsDemo/.idea/dataSources/e426bc54-bad4-4e35-a82d-ea2935945ed0/
  9. EsDemo/.idea/dataSources/e426bc54-bad4-4e35-a82d-ea2935945ed0/storage_v2/
  10. EsDemo/.idea/dataSources/e426bc54-bad4-4e35-a82d-ea2935945ed0/storage_v2/_src_/
  11. EsDemo/.idea/dataSources/e426bc54-bad4-4e35-a82d-ea2935945ed0/storage_v2/_src_/schema/
  12. EsDemo/.idea/dataSources/e426bc54-bad4-4e35-a82d-ea2935945ed0/storage_v2/_src_/schema/esdemo.kQPdsg.meta 61B
  13. EsDemo/.idea/dataSources/e426bc54-bad4-4e35-a82d-ea2935945ed0.xml 32.36KB
  14. EsDemo/.idea/dataSources.local.xml 1.79KB
  15. EsDemo/.idea/dataSources.xml 1.6KB
  16. EsDemo/.idea/encodings.xml 345B
  17. EsDemo/.idea/inspectionProfiles/
  18. EsDemo/.idea/inspectionProfiles/Project_Default.xml 155B
  19. EsDemo/.idea/jarRepositories.xml 880B
  20. EsDemo/.idea/misc.xml 823B
  21. EsDemo/.idea/workspace.xml 8.64KB
  22. EsDemo/HELP.md 853B
  23. EsDemo/db/
  24. EsDemo/db/tb_hotel.sql 61.98KB
  25. EsDemo/pom.xml 4.61KB
  26. EsDemo/src/
  27. EsDemo/src/main/
  28. EsDemo/src/main/java/
  29. EsDemo/src/main/java/com/
  30. EsDemo/src/main/java/com/minos/
  31. EsDemo/src/main/java/com/minos/EsDemoApplication.java 1.03KB
  32. EsDemo/src/main/java/com/minos/demos/
  33. EsDemo/src/main/java/com/minos/demos/web/
  34. EsDemo/src/main/java/com/minos/demos/web/BasicController.java 2.11KB
  35. EsDemo/src/main/java/com/minos/demos/web/PathVariableController.java 1.64KB
  36. EsDemo/src/main/java/com/minos/demos/web/User.java 1.03KB
  37. EsDemo/src/main/java/com/minos/demos/web/config/
  38. EsDemo/src/main/java/com/minos/demos/web/config/EsMapperConfig.java 389B
  39. EsDemo/src/main/java/com/minos/demos/web/constants/
  40. EsDemo/src/main/java/com/minos/demos/web/constants/HotelConstants.java 1.95KB
  41. EsDemo/src/main/java/com/minos/demos/web/mapper/
  42. EsDemo/src/main/java/com/minos/demos/web/mapper/HotelMapper.java 255B
  43. EsDemo/src/main/java/com/minos/demos/web/pojo/
  44. EsDemo/src/main/java/com/minos/demos/web/pojo/Hotel.java 753B
  45. EsDemo/src/main/java/com/minos/demos/web/pojo/HotelDoc.java 1.72KB
  46. EsDemo/src/main/java/com/minos/demos/web/service/
  47. EsDemo/src/main/java/com/minos/demos/web/service/IHotelService.java 245B
  48. EsDemo/src/main/java/com/minos/demos/web/service/impl/
  49. EsDemo/src/main/java/com/minos/demos/web/service/impl/HotelServiceImpl.java 538B
  50. EsDemo/src/main/resources/
  51. EsDemo/src/main/resources/application.yaml 681B
  52. EsDemo/src/main/resources/static/
  53. EsDemo/src/main/resources/static/index.html 79B
  54. EsDemo/src/test/
  55. EsDemo/src/test/java/
  56. EsDemo/src/test/java/com/
  57. EsDemo/src/test/java/com/minos/
  58. EsDemo/src/test/java/com/minos/HotelDocumentTest.java 6.02KB
  59. EsDemo/src/test/java/com/minos/HotelIndexTest.java 2.47KB

资源介绍:

Spring Boot 集成 Elasticsearch
package com.minos; import com.alibaba.fastjson.JSON; import com.minos.demos.web.constants.HotelConstants; import com.minos.demos.web.mapper.HotelMapper; import com.minos.demos.web.pojo.Hotel; import com.minos.demos.web.pojo.HotelDoc; import org.elasticsearch.action.admin.indices.delete.DeleteIndexRequest; import org.elasticsearch.action.bulk.BulkRequest; import org.elasticsearch.action.delete.DeleteRequest; import org.elasticsearch.action.get.GetRequest; import org.elasticsearch.action.get.GetResponse; import org.elasticsearch.action.index.IndexRequest; import org.elasticsearch.action.update.UpdateRequest; import org.elasticsearch.client.RequestOptions; import org.elasticsearch.client.RestHighLevelClient; import org.elasticsearch.client.indices.CreateIndexRequest; import org.elasticsearch.client.indices.GetIndexRequest; import org.elasticsearch.common.xcontent.XContentType; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import java.io.IOException; import java.util.List; @SpringBootTest class HotelDocumentTest { @Autowired private HotelMapper hotelMapper; @Autowired private RestHighLevelClient client; /** * 测试添加文档的函数 * 该函数主要用于将Hotel对象转换为HotelDoc对象,并将其索引到Elasticsearch中 * 它演示了如何将实体对象映射到Elasticsearch文档,并进行索引 * * @throws IOException 如果在读取或索引文档时发生IO异常 */ @Test void testAddDocument() throws IOException { // 通过ID查询Hotel实体 Hotel hotel = hotelMapper.selectById(1973839294L); // 将Hotel实体转换为HotelDoc对象 HotelDoc hotelDoc = new HotelDoc(hotel); // 创建一个索引请求,指定索引名为"hotel",并设置文档ID为HotelDoc对象的ID IndexRequest request = new IndexRequest("hotel").id(hotelDoc.getId().toString()); // 将HotelDoc对象转换为JSON字符串,作为索引文档的内容 request.source(JSON.toJSONString(hotelDoc), XContentType.JSON); // 执行索引请求,将文档索引到Elasticsearch中 client.index(request, RequestOptions.DEFAULT); } @Test /** * 测试获取文档操作 * 该方法演示了如何从酒店数据索引中检索特定文档,并打印出该文档的信息 * 它通过发送GET请求到指定的索引和文档ID,然后将返回的源数据解析为HotelDoc对象 * * @throws IOException 如果在与Elasticsearch客户端通信过程中发生错误,则可能抛出此异常 */ void testGetDocument() throws IOException { // 创建一个GET请求实例,指定索引名称为"hotel",文档ID为"1973839294" GetRequest request = new GetRequest("hotel", "1973839294"); // 使用默认的请求选项通过Elasticsearch客户端执行GET请求,并获取响应 GetResponse response = client.get(request, RequestOptions.DEFAULT); // 将响应的源数据转换为字符串形式 String json = response.getSourceAsString(); // 使用JSON库将JSON字符串解析为HotelDoc对象 HotelDoc hotelDoc = JSON.parseObject(json, HotelDoc.class); // 打印解析出的HotelDoc对象 System.out.println(hotelDoc); } /** * 测试更新文档的函数 * 该测试函数演示了如何更新指定索引中的文档 * 更新操作涉及增加新的字段或修改现有字段的值 * * @throws IOException 如果更新请求过程中发生输入输出异常 */ @Test void testUpdateDocument() throws IOException { // 创建一个更新请求,指定要更新的文档所在的索引(index)和文档的唯一标识符(id) UpdateRequest request = new UpdateRequest("hotel", "1973839294"); // 构建要更新的内容,包括新的字段值对 // 在这里,我们为文档添加/更新了价格和星级名称 request.doc( "price", 300, "starName", "四钻" ); // 执行更新请求 // 这里使用了默认的请求选项(RequestOptions.DEFAULT),适用于大多数情况 client.update(request, RequestOptions.DEFAULT); } /** * 测试删除文档功能 * 该测试方法演示了如何发送一个删除请求以删除指定的文档 * * @throws IOException 如果与Elasticsearch服务器的交互中出现IO错误 */ @Test void testDeleteDocument() throws IOException { // 创建一个删除请求,指定要删除的文档所在索引为"hotel",文档ID为"1973839294" DeleteRequest request = new DeleteRequest("hotel","1973839294"); // 执行删除请求,使用默认的请求选项 client.delete(request, RequestOptions.DEFAULT); } @Test /** * 批量处理酒店数据到Elasticsearch * 该方法首先从数据库中检索所有酒店信息,然后将这些信息批量索引到Elasticsearch中 * 使用BulkRequest来执行批量操作,以提高效率和吞吐量 * * @throws IOException 如果与Elasticsearch的交互中发生错误 */ void testBulkRequest() throws IOException { // 从数据库检索所有酒店列表 List hotelList = hotelMapper.selectList(null); // 创建一个BulkRequest对象,用于添加批量操作 BulkRequest request = new BulkRequest(); // 遍历酒店列表,为每个酒店创建一个HotelDoc对象,并将其添加到批量请求中 for (Hotel hotel : hotelList) { HotelDoc hotelDoc = new HotelDoc(hotel); // 创建索引请求,并指定索引名称、文档ID和源数据 request.add(new IndexRequest("hotel").id(hotelDoc.getId().toString()) .source(JSON.toJSONString(hotelDoc), XContentType.JSON)); } // 执行批量请求 client.bulk(request, RequestOptions.DEFAULT); } }
100+评论
captcha