项目简介
本项目是一个一站式聚合搜索平台,以Vue 3、Spring Boot和Elastic Stack为基础,是简化版的企业级搜索中台。它整合多种数据源与搜索技术,便于用户进行多维度的数据搜索与分析。
项目的主要特性和功能
前端
- 使用Vue 3框架构建界面,带来响应式用户体验。
- 借助Ant Design Vue组件库,提供丰富UI组件与样式。
- 实现页面状态实时同步,保证用户操作即时反馈。
后端
- 采用Spring Boot 2.7框架快速搭建服务,具备高效服务端处理能力。
- 以MySQL 8.x版本作为主要数据存储方案。
- Elastic Stack方面:
- Elasticsearch作为搜索引擎,有强大的全文搜索与分析能力。
- Logstash用于数据管道处理,可实现数据采集、转换和加载。
- Kibana提供数据可视化功能,助于用户直观分析搜索结果。
- 利用jsoup和HttpClient进行数据爬取,支持离线和实时数据抓取。
- 运用门面模式、适配器模式和注册器模式,提升代码可维护性与扩展性。
- 支持定时同步、双写同步、Logstash同步和Canal同步四种数据同步方式。
- 使用JMeter进行压力测试,确保系统在高负载下的稳定性与性能。
其他功能
- 通过AOP拦截器和自定义注解实现权限校验,保障特定资源仅特定角色用户可访问。
- 用AOP拦截器记录请求响应日志,便于系统监控和性能优化。
- 提供文件上传功能,支持图片和文档的上传与管理。
- 实现图片搜索功能,用户可通过关键词搜索相关图片。
- 具备帖子增删改查功能,支持分页查询和搜索。
- 提供用户注册、登录、注销等功能,支持管理员对用户进行管理。
安装使用步骤
前提条件
- 已安装Java 8或更高版本。
- 已安装MySQL 8.x版本。
- 已安装Elasticsearch、Logstash和Kibana。
- 已安装Node.js和npm。
后端安装步骤
- 配置数据库:在
application.properties
文件中配置MySQL数据库连接信息。properties spring.datasource.url=jdbc:mysql://localhost:3306/yourdatabase spring.datasource.username=yourusername spring.datasource.password=yourpassword
- 启动Elasticsearch:启动Elasticsearch服务。
bash ./bin/elasticsearch
- 启动Logstash:启动Logstash服务。
bash ./bin/logstash -f yourconfigfile.conf
- 启动Kibana:启动Kibana服务。
bash ./bin/kibana
- 启动Spring Boot应用:在项目根目录下运行以下命令启动Spring Boot应用。
bash ./mvnw spring-boot:run
前端安装步骤
- 进入前端目录:进入项目的前端目录。
bash cd tuguang-search/search-frontend
- 安装依赖:使用npm安装项目依赖。
bash npm install
- 启动前端应用:运行以下命令启动前端应用。
bash npm run serve
访问应用
打开浏览器,访问http://localhost:8080
,即可进入聚合搜索平台。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】