# fdfs-es-demo **Repository Path**: wangyibo97/fdfs-es-demo ## Basic Information - **Project Name**: fdfs-es-demo - **Description**: springboot+mysql+fastdfs+elasticsearch完成海量文件文件上传下载搜索功能demo,现可根据文件名称、作者、以及分类id进行搜索,如需更多功能请自行完善 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 4 - **Forks**: 2 - **Created**: 2021-08-16 - **Last Updated**: 2024-02-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: fastdfs, ElasticSearch ## README # fdfs-es-demo #### 介绍 springboot+mysql+fastdfs+elasticsearch完成海量文件文件上传下载搜索功能demo,现可根据文件名称、作者、以及分类id进行搜索,如需更多功能请自行完善 #### 软件架构 ├─src │ ├─main │ │ ├─java │ │ │ └─com │ │ │ └─wyb │ │ │ └─fastdfs │ │ │ │ FastdfsDemoApplication.java 项目启动类 │ │ │ │ │ │ │ ├─config │ │ │ │ ElasticSearchConfig.java es配置类 │ │ │ │ FileConfig.java 文件配置类 │ │ │ │ │ │ │ ├─constant │ │ │ │ EsConstant.java es常量类(主要配置索引名称) │ │ │ │ │ │ │ ├─controller │ │ │ │ FastDfsFileController.java 与fdfs有关文件上传下载操作 │ │ │ │ FileController.java 管理端相关操作,查看文件列表,与es有关文件验证导入es │ │ │ │ SearchController.java 文件搜索服务 │ │ │ │ │ │ │ ├─dto │ │ │ │ └─es │ │ │ │ FileEsModel.java ES传输模型 与mapping对应 │ │ │ │ │ │ │ ├─entity │ │ │ │ FileCategoryEntity.java 文件实体 │ │ │ │ FileEntity.java 文件分类实体 │ │ │ │ │ │ │ ├─mapper │ │ │ │ FileMapper.java 文件数据库dao │ │ │ │ │ │ │ ├─service │ │ │ │ │ DownloadService.java fdfs下载服务实现 │ │ │ │ │ FileSearchService.java es搜索服务接口 │ │ │ │ │ FileService.java 管理端查看、验证服务接口 │ │ │ │ │ UploadService.java fdfs上传服务实现 │ │ │ │ │ │ │ │ │ └─impl │ │ │ │ FileSearchServiceImpl.java es搜索服务实现 │ │ │ │ FileServiceImpl.java 管理端查看、验证服务实现 │ │ │ │ │ │ │ ├─utils │ │ │ │ FastDfsUtil.java 工具类(使用fastdfs-client-java时配置) │ │ │ │ │ │ │ └─vo │ │ │ SearchParam.java 前端查询参数封装 │ │ │ SearchResult.java 前端返回结果封装 │ │ │ │ │ └─resources │ │ │ application.properties #数据源配置(改成自己地址) │ │ │ application.yml #fastdfs 配置(改成自己地址) │ │ │ docker安装es步骤.txt │ │ │ fastdfs搭建步骤.txt │ │ │ fdfs_client.conf 使用fastdfs-client-java时配置(本项目不用) │ │ │ file-mapping.txt es mapping映射(与es交互前,需先在kibana中创建好) │ │ │ file-search-demo.txt kibana中请求格式与响应格式 │ │ │ file.sql 文件sql │ │ │ file_category.sql 文件分类sql │ │ │ │ │ ├─mybatis │ │ │ │ mybatis-config.xml mybatis配置文件 │ │ │ │ │ │ │ └─mapper │ │ │ FileMapper.xml file 数据库crud │ │ │ │ │ ├─static │ │ │ index.html 上传下载前端测试页面 #### 安装教程 拉下代码,改好配置,启动fdfs的tracker,storage,docker启动es,kibana 运行项目启动类 #### 使用说明 浏览器输入localhost:8080即可进入index.html进行文件上传下载 localhost:8080/dbfile/list 查询文件列表 localhost:8080/dbfile/verify?fileId=xxx 进行文件上传es http://localhost:8080/search/searchFileList?keyword=xxxauthor=xxx&categoryId=xxx 文件搜索 #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 支持 如果觉得有帮助,帮忙点星星哦~ 或者给孩子一点创作动力,一分两分不嫌少 ![输入图片说明](https://images.gitee.com/uploads/images/2021/0816/152707_92e3e545_8788142.jpeg "微信图片_20210816152446.jpg") ![输入图片说明](https://images.gitee.com/uploads/images/2021/0816/152718_4059777e_8788142.jpeg "微信图片_20210816152509.jpg") 可以加v:1121930180继续交流 ![输入图片说明](https://images.gitee.com/uploads/images/2021/0816/152744_920ec2ec_8788142.jpeg "c365450c-afa9-45d0-89d0-574cc5c5baab.jpg")