点击空白处退出提示
聚合搜索平台
我要开发同款所属分类大数据
授权协议LGPL许可
作品详情
技术栈:SpringBoot、MyBatis、Elastic Stack、Canal、Hutool、Druid、Redis、MySQL、Vue
项目职责:
1、使用 HttpClient 请求 离线 获取外部网站的文章,并使用 Hutool 的 JSONUtil 解析和预处理文章,最终入库。使用 jsoup 实请求bing 搜索接口获取图片,并使用 CSS Selector 语法解析和预处理图片信息,最终返回给前端。
2、为解决文章搜不出的问题,自主搭建 Elasticsearch 来代替 MSQL 的模糊査询,并通过为索引绑定 ik分词器实现了更灵活的分词搜索,且使用JMeter 测试后发现搜索性能提升 50%。
3、构建 ES 文章索引时,采用动静分离的策略,只在 ES 中存储要检索的、修改不频繁字段(比如文章)用于检索,而修改频繁的字段(比如点赞数)从数据库中关联査出,从而减少了 ES 数据更新和同步的成本、保证数据一致性。
4、为了更方便地管理 Elasticsearch 中的数据,自主搭建 Kibana 并配置 index patter 和看板,实现对文章数据的可视化管理。
5、使用 Spring Scheduler 定时同步近5分钟内发生更新的 MySQL 的文章数据到 ES,通过唯-id 来保证每条数据同步的准确性。
6、开发搜索功能时,使用 Kibana DevTools + DSL 调试,ES 的搜索效果,并使用 Spring Data Elasticsearch 的 QuervBuilder组合查询条件,实现对ES 内文章的灵活査询。
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态
评论