学习Elasticsearch记录

入职给的练手项目要求使用spring boot, spring data, elasticsearch,公司里没有做java的人,自己摸爬滚打写出来的东西,写的时候发现好像用到类似东西的例子很少,独乐乐不如众乐乐,分享出来好了,希望能帮助到更多人。

由于个人技术所限,肯定有很多不足,欢迎指出。

项目路径:https://github.com/hallowold/elasticSearchDemo1

使用的技术关键字: 

jdk1.8 

spring boot 2.0.3 

elasticsearch5.6.10 

spring data elasticsearch3.0.7 

mysql 5.7

swagger2.7.0 

spring securit 5.0.6.RELEASE

项目需求:

实现以下需求

1.用户的列表、创建、登录(2个接口),其中列表和创建只有管理员可以操作

2.文章的增、删、改、查、列表(5个接口)

    2.1 5个接口要求登录才能调用

    2.2 其中删、改两项操作只能由文章作者操作,其他用户无法操作

    2.3 其中列表功能要求以点赞数降序排列,并包含点赞用户列表

    2.4 实现文章的点赞功能(1个接口)

    2.5 仅登录用户可点赞

    2.6 一个用户只能对一篇文章点赞一次


大概说一下设计思路

集成spring security托管权限,使用mysql存储相关的信息,

使用elasticsearch5.6.10管理文章数据,

DAO层都使用spring data,

接受数据加一个request层来做一些处理,比如我新增不想接id,直接取时间等这些操作,然后在该层将数据表单封装成实体再交给controller,其实就是表单数据我希望先做一些处理再使用,

返回结果统一使用response(ifSuccess, message, data, code)的形式(security的403实在没搞定,只能近似)

异常统一处理,这样可以将特定的自定义异常作为返回值来处理

部分通用的变量做成静态常量


现在项目是OK的,不过仍然有一些东西没处理好,初始化的data.sql一直没有运行,所以想跑项目的同学请创库跑项目后手动执行一下,然后把ApplicationStartUp.java中注释掉的代码逻辑解开,重新执行即可,以后不用改

项目只有后台,使用swagger接口测试




猜你喜欢

转载自blog.csdn.net/m0_37536493/article/details/80970189