1:搜索栏展示当前登陆的个人用户的搜索历史记录,删除个人历史记录
2:用户在搜索栏输入某字符,则将该字符记录下来 以zset格式存储的redis中,记录该字符被搜索的个数以及当前的时间戳 (用了DFA算法,感兴趣的自己百度学习吧)
3:每当用户查询了已在redis存在了的字符时,则直接累加个数, 用来获取平台上最热查询的十条数据。 (可以自己写接口或者直接在redis中添加一些预备好的关键词)
4:最后还要做不雅文字过滤功能。这个很重要不说了你懂的。
代码实现热搜与个人搜索记录功能,主要controller层下几个方法就行了 :
1:向redis 添加热搜词汇(添加的时候使用下面不雅文字过滤的方法来过滤下这个词汇,合法再去存储
2:每次点击给相关词热度 +1
3: 根据key搜索相关最热的前十名
4:插入个人搜索记录
5:查询个人搜索记录
首先配置好redis数据源等等基础 (不熟悉的看我另一篇博客,redis多数据元配置)
最后贴上核心的 服务层的代码 :
核心的部分写完了,剩下的需要你自己将如上方法融入到你自己的代码中就行了。
代码实现过滤不雅文字功能,在springboot 里面写一个配置类加上@Configuration注解,在项目启动的时候加载一下,代码如下:
然后这是工具类代码 :
在你代码的controller层直接调用方法判断即可:
也可将敏感文字替换*等字符 :
最后刚才的 SensitiveWordInit.java 里面用到了 censorword.text 文件,放到你项目里面的 resources 目录下的 static 目录中,这个文件就是不雅文字大全,也需要您与时俱进的更新,项目启动的时候会加载该文件。
可以自己百度下载这个东西很多的。我就不贴链接了,贴了能会被禁用和无法访问该链接,有需要的可以在该文章下面留言,我私聊发给你行了 over !
如果您觉得写的不错的话,望给个赏钱吧~~~~~~
以上就是本篇文章【springboot java+redis 实现简单实用的搜索栏热搜功能,不雅文字过滤功能。】的全部内容了,欢迎阅览 ! 文章地址:http://g8akg8.riyuangf.com/news/959.html 资讯 企业新闻 行情 企业黄页 同类资讯 首页 网站地图 返回首页 迅易网资讯移动站 http://qyn41e.riyuangf.com/ , 查看更多