# anya-search **Repository Path**: sunnfun/anya-search ## Basic Information - **Project Name**: anya-search - **Description**: 聚合搜索平台后端 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2024-09-07 - **Last Updated**: 2025-01-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 聚合搜索项目 > 作者:[sunn](https://gitee.com/sunnfun) 基于鱼皮星球项目开发 ## 项目简介 基于 Vue 3 + Spring Boot + Elastic Stack 的一站式聚合搜索平台,也是简化版的企业级搜索中台。 对用户来说,使用该平台,可以在同一个页面集中搜索出不同来源、不同类型的内容,提升用户的检索效率和搜索体验。 对企业来说,当企业内部有多个项目的数据都存在搜索需求时,无需针对每个项目单独开发搜索功能,可以直接将各项目的数据源接入搜索中台,从而提升开发效率、降低系统维护成本 ### 技术选型 #### 前端 - Vue 3 - Ant Design Vue 组件库 - 页面状态同步 #### 后端 - Spring Boot 2.7 框架 + springboot-init 脚手架 - MySQL 数据库(8.x 版本) - Elastic Stack - Elasticsearch 搜索引擎(重点) - Logstash 数据管道 - Kibana 数据可视化 - 数据抓取(jsoup、HttpClient 爬虫) - 离线 - 实时 - 设计模式 - 门面模式 - 适配器模式 - 注册器模式 - 数据同步(4 种同步方式) - 定时 - 双写 - Logstash - Canal - JMeter 压力测试 ## 项目大纲 1. 技术选型、业务流程、系统架构 2. 前端项目初始化 1. 前端脚手架使用 2. 框架、组件库、请求库整合 3. 后端项目初始化 1. Spring Boot Init 4. 前端聚合搜索页面开发 5. 前后端联调 6. 多数据源获取 1. JSoup HTML抓取 2. HttpClient 接口抓取 7. 聚合搜索业务场景分析 8. 聚合搜索接口开发 1. 门面模式 2. 性能测试 9. 搜索接口优化 1. 统一标准 2. 适配器模式 3. 注册器模式 10. 前端搜索接口调用优化 11. 从 0 开始学习 Elastic Stack 1. Elasticsearch 概念及倒排索引原理 2. Elasticsearch / Kibana 安装 3. Elasticsearch + Kibana Dev Tools 入门实践 4. Elasticsearch 调用方式讲解 12. ES 搜索引擎实战 1. 几种 Java 客户端操作方式讲解 2. ES 标准开发流程实战 3. 动静分离 13. 数据同步(4 种同步方式) 1. 定时 2. 双写 3. Logstash 4. Canal 14. Kibana 搭建看板 15. JMeter 接口性能测试 16. 项目扩展点