# 聚合搜索平台

本文作者:程序员鱼皮 (opens new window)

⭐️ 加入项目系列学习:加入编程导航 (opens new window)

# 项目简介

# 项目介绍

企业级一站式聚合搜索平台,基于 Vue 3 前端 + Spring Boot 后端 + Elastic Stack 的 全栈项目

对用户来说,使用该平台,可以在同一个页面集中搜索出不同来源、不同类型的内容,提升用户的检索效率和搜索体验。

对企业来说,当企业内部有多个项目的数据都存在搜索需求时,无需针对每个项目单独开发搜索功能,可以直接将各项目的数据源接入搜索中台,从而提升开发效率、降低系统维护成本。

聚合搜索页面 - 搜文章:

聚合搜索页面 - 搜图片:

聚合搜索页面 - 搜用户:

Elastic Stack - Kibana 数据看板:

项目架构图:

此外,这个项目中还应用到了鱼皮提供的万用后端项目模板,熟练之后,几分钟开发一个新功能 真的轻轻松松!

# 项目特点

该项目非常 新颖 ,不同于泛滥的管理系统、商城项目,而是企业架构层面的 通用搜索能力 的抽象,之后你在做任何系统时,都可以复用本项目的搜索能力。

项目中会带大家学习和实战:多种数据爬虫方法、4 种数据同步方法、接口优化、多种设计模式、Elastic Stack、压力测试等一系列 后端必学 知识。

鱼皮 从 0 到 1 全程直播无剪辑 地带大家开发完成项目,总课程时长 12 小时,十分精炼。从需求分析、技术选型、系统设计、项目初始化、前后端开发,每个环节我都 从理论到实践 给大家讲的明明白白、每个细节都不放过!

除了学做项目之外,鱼皮还在直播过程中聊到了不少知识点,帮助大家提升架构设计思维、学会对比方案、阅读文档的套路;所有 Bug 和问题均为直播解决,带大家提升自主排查问题、解决 Bug 的能力。

还能获取到鱼皮的 万用后端项目模板,熟练后 几分钟开发一个新功能 轻轻松松!

# 项目收获

  1. 掌握做项目的完整流程,能独立开发上线项目
  2. 学会企业主流前后端开发技术的应用(如 Spring Boot、Vue 3、Elastic Stack 等)
  3. 学到数据爬虫、数据同步、接口优化、多种设计模式、Elastic Stack、压力测试等一系列重要知识
  4. 学到对比方案的方法,帮你开拓思路,提升系统设计能力
  5. 学到项目开发、调试和优化技巧,如开发工具技巧、抽象封装、问题定位、性能优化等
  6. 鱼皮带你读文档!让你掌握阅读官方文档的方法技巧,提高自学能力
  7. 带你分析解决项目中的问题,提升自主解决问题的能力

# 本项目适合的同学

本项目前后端都有,但更侧重后端。

如果你是前端,也可以通过这个项目学习到一些前端开发的小技巧(比如页面状态同步),但是最好学习过 Vue 或 React 等至少一门开发框架。

  1. 学过基本后端(Java Web)或前端技术(HTML + CSS + JS)
  2. 缺少项目,想给简历增加项目经验和亮点
  3. 想通过实践项目快速学习主流前后端技术
  4. 想学习到快速开发前后端全栈项目的技巧
  5. 想掌握独立开发完整项目的方法
  6. 想提升做项目的经验、系统架构设计能力
  7. 想全方位提高编程及问题解决能力

# 技术选型

# 前端

  • Vue 3
  • Ant Design Vue 组件库
  • 页面状态同步机制

# 后端

  • Spring Boot 2.7 框架
  • springboot-init 项目模板
  • MySQL 数据库
  • Elastic Stack
    • Elasticsearch 搜索引擎
    • Logstash 数据管道
    • Kibana 数据可视化
  • 数据抓取
    • 离线和实时抓取
    • Jsoup 和 HttpClient 库
  • 设计模式
    • 门面模式
    • 适配器模式
    • 注册器模式
  • 数据同步(4 种方式)
    • 定时
    • 双写
    • Logstash
    • Canal
  • JMeter 压力测试

# 项目大纲

# 第一章:项目诞生

  1. 项目介绍和计划
  2. 需求分析
  3. 技术选型
  4. 业务流程
  5. 系统架构介绍
  6. 前端初始化 | 前端脚手架使用
  7. 前端初始化 | 框架 + 组件库 + 请求库整合
  8. 后端初始化 | Spring Boot 万用模板使用

# 第二章:基础开发

  1. 搜索功能 | 前端聚合搜索页面开发
  2. 搜索功能 | 前端记录搜索状态
  3. 搜索功能 | 前后端联调
  4. 数据源获取 | 多种方式和抓取流程介绍
  5. 数据源获取 | HttpClient 接口方式获取文章
  6. 数据源获取 | JSoup 实时获取图片
  7. 聚合搜索功能 | 业务场景分析
  8. 聚合搜索功能 | 接口开发 - 门面模式
  9. 聚合搜索功能 | 接口性能测试

# 第三章:开发及优化

  1. 聚合搜索优化 | 统一标准
  2. 聚合搜索优化 | 适配器模式
  3. 聚合搜索优化 | 注册器模式
  4. 聚合搜索优化 | 前端调用优化
  5. Elastic Stack 实战 | Elasticsearch 概念及倒排索引原理
  6. Elastic Stack 实战 | Elasticsearch + Kibana 安装
  7. Elastic Stack 实战 | Elasticsearch + Kibana Dev Tools 实战
  8. Elastic Stack 实战 | Elasticsearch 多种调用方式
  9. Elasticsearch 搜索引擎实战 | 多种 Java 客户端
  10. Elasticsearch 搜索引擎实战 | 标准开发流程
  11. Elasticsearch 搜索引擎实战 | 动静分离
  12. Elasticsearch 数据同步 | 定时
  13. Elasticsearch 数据同步 | 双写
  14. Elasticsearch 数据同步 | Logstash
  15. Elasticsearch 数据同步 | Canal
  16. Elasticsearch 搜索引擎实战 | Kibana 看板搭建
  17. JMeter 接口性能测试
  18. 项目扩展点和优化思路

# 项目资料

# 学习计划

项目学习计划:https://www.codefather.cn/course/1790979621621641217/section/1790981403366174722?type= (opens new window)

# 视频教程

项目完整视频教程:https://www.codefather.cn/course/1790979621621641217/section/1791092010266439681?contentType=video&tabKey=info&type= (opens new window)

# 项目笔记

鱼皮直播笔记:https://www.codefather.cn/course/1790979621621641217/section/1790981171370831874?contentType=text&tabKey=info&type= (opens new window)

# 直播大纲

直播大纲:https://www.codefather.cn/course/1790979621621641217/section/1790981240778174466?type= (opens new window)

# 项目源码

项目完整源码:https://www.codefather.cn/course/1790979621621641217/section/1790981214354059265?tabKey=qa&type= (opens new window)

# 项目答疑

项目问答专区(请在 PC 端访问编程导航链接):https://www.codefather.cn/course/1790979621621641217?tabKey=qa (opens new window)

可以在编程导航中更好地解决项目中遇到的问题:编程导航 1 对 1 免费答疑服务 (opens new window)

项目问题答疑汇总:https://www.codefather.cn/course/1790979621621641217/section/1790981026424074242?contentType=text&tabKey=info&type= (opens new window)

# 项目交流群

加群方式请见编程导航帖子:https://www.codefather.cn/course/1790979621621641217?current=1&tabKey=qunCode (opens new window)加入编程导航 (opens new window) 后可见)

# 简历写法

项目简历写法:https://www.codefather.cn/course/1790979621621641217/section/1790981135681499138?current=1&tabKey=qunCode&type= (opens new window)

# 项目面试题

项目面试题:https://www.codefather.cn/course/1790979621621641217/section/1790981088759820290?current=1&tabKey=qunCode&type= (opens new window)

# 学员反馈

展示部分学员的真实反馈,也欢迎编程导航鱼友私信编程导航管理或鱼皮反馈,认真完成项目会有小奖励哦 🧧!

# 项目总结

  1. https://www.codefather.cn/note/1836996375531569154 (opens new window) By mmr
  2. https://www.codefather.cn/note/1817637092455018497 (opens new window) By 悦悦平安1
  3. https://www.codefather.cn/note/1813731723126734850 (opens new window) By Flance
  4. https://www.codefather.cn/note/1840258261362319361 (opens new window) By refulx
  5. https://www.codefather.cn/note/1815828787137351681 (opens new window) By 风轻轻拂半山

# 上岸报喜

# 学员评价

# 成品展示

# 更多项目

请见:项目实战 - 鱼皮原创项目教程系列 (opens new window)

# 加入学习

点击 加入编程导航 (opens new window) ,鱼皮原创项目均可学习。

最近更新: 10/22/2024, 1:39:06 AM
个人学习知识库   |