高性能敏感词工具
背景
项目接到个需求,对后端输入参数进行是否包含敏感词的一项校验,作为一名合格的java开发工程师(CRUD Boy),秉持着不重复造轮子的开发理念,遍历github找到了这款开源的敏感词检索神器sensitive-word,看完本篇文章会教会你如何使用这款组件,以及本人在项目中所遇见的各种坑,帮助我们快速完成需求开发工作.
基本使用
准备
- JDK1.7+ (我的项目jdk21)
- Maven 3.x+
Maven引入
<dependency>
<groupId>com.github.houbb</groupId>
<artifactId>sensitive-word</artifactId>
<version>0.14.0</version>
</dependency>
注意,请关注github上版本变化,我目前使用的还是最新的
自定义配置
这个配置主要是配置黑白名单
自定义黑名单
自定义白名单
需求没有白名单的,就没写,跟黑名单一样配置
初始化引导类
红框里的就是我们定义的黑白名单了
使用
上述做完,我们就可以使用了,下图是次工具的核心类
核心方法
我使用的是其中的contains(String)方法,你可以选用适合你需求的方法进行敏感词校验
测试过程中踩过的坑
- 输入了个手机号,显示包含敏感词,可是我这一个文本明明没有敏感词啊contains(String)方法还是返回了true,包含敏感词,赶紧查看文档,原来配置中开启了 数字检测,数字超过8位就判断包含敏感词了,赶紧关了,哎,好了…………..
- 输入了一个中文的()发现也包含敏感词,我黑名单里面明明是英文的,有些奇怪,还是参考文档吧,发现里面忽略全角半角开启了,赶紧关掉,发现也好了…………….
- 自定义配置中最好给这些配置说明里参考一下,不需要的情况请选择false,否则会有各种意想不到的问题,有需要了再开,注意参考我下面的配置方法与配置说明
配置方法
配置说明
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 启航苑&博客!