分享好友 最新资讯首页 最新资讯分类 切换频道
骚操作!SpringBoot 过滤热搜与不雅文字~
2024-11-07 22:23

# 前言

骚操作!SpringBoot 过滤热搜与不雅文字~

这里主要讲springboot整合redis的个人搜索记录与热搜、敏感词过滤与替换两个功能,下面进行环境准备,引入相关maven依赖

 

application.yml配置为

 

最后敏感词文本文件放在resources/static目录下,取名为word.txt,敏感词文本网上很多,这里就随便贴一个:github敏感词

# 不雅文字过滤

1、实现原理

简单原理如下图所示,使用了DFA算法,创建结点类,里面包含是否是敏感词结束符,以及一个HashMap,哈希里key值存储的是敏感词的一个词,value指向下一个结点(即指向下一个词,一个哈希表中可以存放多个值,比如赌博、赌黄这两个都是敏感词。

2、实现方法

2.1 敏感词库初始化

敏感词库的初始化,这里主要工作是读取敏感词文件,在内存中构建好敏感词的Map节点

 

2.2 敏感词过滤器

敏感词过滤器,主要功能是初始化敏感词库,敏感词的过滤以及替换

 

2.3 测试使用

最后进行测试,这里有两种方式可以获取,因为容器初始化时会默认执行无参构造​​​​​​​

 

# Redis搜索栏热搜

1、前言

使用java和redis实现一个简单的热搜功能,具备以下功能

搜索栏展示当前登陆的个人用户的搜索历史记录,删除个人历史记录

用户在搜索栏输入某字符,则将该字符记录下来 以zset格式存储的redis中,记录该字符被搜索的个数以及当前的时间戳 (用了DFA算法

每当用户查询了已在redis存在了的字符时,则直接累加个数, 用来获取平台上最热查询的十条数据。(可以自己写接口或者直接在redis中添加一些预备好的关键词

最后还要做不雅文字过滤功能。

代码实现热搜与个人搜索记录功能,主要controller层下几个方法就行了

  • 向redis 添加热搜词汇(添加的时候使用下面不雅文字过滤的方法来过滤下这个词汇,合法再去存储

  • 每次点击给相关词热度 +1

  • 根据key搜索相关最热的前十名

  • 插入个人搜索记录

  • 查询个人搜索记录

2、代码实现

2.1 创建RedisKeyUtils 工具类

管理redis的键,防止太乱了​​​​​​​

 

2.2 核心搜索文件

两个文件是一起的​​​​​​​

 

接上一个

 

2.3 测试使用

以下只是简单的测试,上面的核心函数可以自己组合,一般组合加上敏感词过滤

 
 

最新文章
我的自助建站之路
自助建站的网站和论坛我都尝试过了,这二十天来也接触过虚拟主机。现在说下我从去年开始接触的网络自助建站说起吧!一,自助建网
【头条】裁员800人!又一美企关闭上海等三家工厂;
1.八大创新项目亮相:謇公茶馆科创融资路演专场9月27日即将开幕;2.Vishay宣布重组!裁员800人,关闭上海等三家工厂;3.精美礼品
手机内存严重不足,华为联手雷克沙推出nCARD存储卡,性能实测
本文共2100字,27张图片,预计阅读时间5分钟1、前言2、什么是nCARD3、简单的开箱4、性能测试5、总结前言一年前入手了华为P30 pro
(千年的手游叫什么名字)揭秘千年手游排行榜前十名,畅谈经典游戏排名及魅力
在快节奏的生活中,人们常常寻找一种能够放松身心、享受时光的方式,经典游戏因其独特的魅力和吸引力,成为了许多人闲暇时间的不
2024年Java后端开发学习路线(建议收藏!)
第二部分:Java高级 在Java高级中,我们应该要熟练掌握。Java多线程/高并发,数据结构和算法,设计模式
Android辅助权限的介绍与配置
本文旨在介绍AccessibilityService如果更优雅的使用,以及使用过程遇到的问题,该怎么解决。 辅助功能服务在后台运
CRM客服系统是干啥的?有啥功能、作用和价格?
客服系统的主要功能和作用包括:1、,2、销售自动化,3、营销自动化,4、客户服务,5、数据分析。客户管理是CRM系统的核心功能,
2024精准资料免费|精选解释解析落实
  在信息爆炸的时代,获取高质量的资料成为人们日常生活和工作中不可或缺的一部分。然而,由于互联网的开放性和信息的海量,如
1.社交媒体平台推广
社交媒体平台推广是目前最为常见的自媒体推广方法之一。主要包括微信公众号、知乎、微博、抖音等社交媒体平台。通过在这些平台上