首页 星云 工具 资源 星选 资讯 热门工具
:

PDF转图片 完全免费 小红书视频下载 无水印 抖音视频下载 无水印 数字星空

Spring Boot 集成 Elasticsearch

后端 47.92KB 24 需要积分: 1
立即下载

资源介绍:

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); } }

资源文件列表:

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
0评论
提交 加载更多评论
其他资源 基于51单片机的蓝牙电子秤设计
本设计旨在实现一个基于 51 单片机的蓝牙电子秤,能够精确测量物体的重量,并通过蓝牙模块将重量数据传输到手机或其他蓝牙设备上进行显示和处理。 其功能性、稳定性测试为下图: (1)分别测量不同重量的物体,检查电子秤的测量结果是否准确。 测试蓝牙通信功能,确保数据能够正确传输到手机等设备上。 (2)长时间运行电子秤,观察其测量结果是否稳定,有无异常波动。 以下是部分示例代码:
Convertio是一款用于文件格式转换的浏览器扩展
在线文件转换服务提供了一种便捷的方法,允许用户将文件从一种格式轻松转换为另一种格式。这项服务覆盖了超过2500种不同的文件转换类型,满足多样化的文件处理需求。 支持的转换类型包括: 归档转换器:支持将.rar、.7z等格式转换为.zip等其他压缩格式。 音频转换器:能够将.wav、.m4a等音频文件转换为更通用的.mp3格式。 文档转换器:允许用户将.pdf、.doc等文档格式转换为图像格式,如.jpg。 电子书转换器:提供.epub到.pdf或.mobi等电子书格式的转换。 图片转换器:支持.png到.ico、.jpg等图片格式的转换。 演示文稿转换器:可以将.ppt演示文稿转换为.pdf或.jpg等格式。 视频转换器:支持将.mkv、.mov等视频文件转换为广泛兼容的.mp4格式。 PDF工具:提供PDF文件的压缩、合并、解锁以及网页到PDF的转换功能。 OCR工具:具备识别文本、光学字符识别的能力。 使用方法: 用户可以利用Google Drive或Dropbox等云存储服务进行文件转换。只需开始转换过程,然后退出应用程序,文件转换完成后将自动出现在您的云端存储中。
快捷安装Hackbar插件(适用于所有浏览器)
将文件解压之后打开浏览器“扩展-我的扩展”界面,打开开发者模式,直接将解压好的文件拖入界面即可(没有上传提示,直接拖入界面)
web渗透-CTF杂项练习题
压缩包中有各种CTF杂项练习题,每种题型各一个,部分题目文件已将答案(如分离好的图片)一并包含,请细心鉴别以防做题时引发误解
猫抓(cat-catch) 资源嗅探谷歌浏览器扩展,解压后包含一个crx文件
猫抓(cat-catch) 资源嗅探扩展,能够帮助你筛选列出当前页面的资源。提供嗅探 缓存捕捉 视频录制等各种工具帮助抓取资源。可以在设置内添加想要抓取的资源类型,包括图片等资源。 猫抓插件以其独特的“所见即所得”功能,能够捕获网页上几乎所有的媒体资源。无论是在线音乐、视频教程还是网络直播,只要网页上能播放的,猫抓都能帮你轻松下载。 安装步骤: 1、下载并解压到本地目录中。 2、打开开发者模式:在Chrome浏览器中,打开扩展程序管理页面,点击右上角的“开发者模式”开关。 3、加载扩展程序:点击“加载已解压的扩展程序”,然后选择你刚才解压的猫抓插件目录。 4、完成安装:插件将被加载到Chrome浏览器中,你可以在扩展程序管理页面看到它。
Word2Vec预训练字符串相似度-java实现,详细注释到行,附工程源码,预训练文件,F5直接运行
Word2Vec是一种自然语言处理技术,用于将单词转换为数值向量,从而捕捉单词之间的语义关系。该技术包括两种主要模型:连续词袋模型和跳跃式n-gram模型。这些模型通过训练可以有效地表示词汇之间的相似度和上下文关系,进而应用于各种NLP任务中。具体分析如下: 连续词袋模型: CBOW模型基于一个简单而强大的想法:它使用一个单词的上下文来预测该单词本身。模型由输入层、投影层和输出层组成。在输入层,模型接收一组One-Hot编码的向量,每个向量代表一个上下文单词。这些向量被用来与权重矩阵相乘,结果是一个单一的向量,这个向量是所有上下文向量的累加或者平均值。这个综合向量随后被用来计算在输出层每个单词的概率,最大概率的单词被视为预测目标单词。 这种模型的关键在于它迫使模型关注整个上下文,而不是单个单词,以此来预测目标单词。这种方法有效地假设了上下文中的所有单词都对预测目标单词有贡献,从而捕获了单词之间的语义关系。
nampnampnamp
nampnampnamp
cbcfbcbfdbgfdg
cbcfbcbfdbgfdg