首页 > 基础资料 博客日记
敏感词 v0.27.0 新特性之词库独立拆分
2025-07-19 15:00:01基础资料围观172次
创作背景
大家好,我是老马。
敏感词初期在实现的时候,为了用户开箱即用将词库与核心算法库放在一起。
有一些用户希望只用自己的词库,于是内置了各种自定义的策略方法。
但是还是不够,比如有些 andriod 研发希望内置包的信息是干净的,不要有任何敏感信息。
为了保障开箱即用+支持将文件排除,我们在将敏感词库独立为另外一个项目。
系统内置词库及如何排除
内置词库文件说明
v0.27.0 将词库和当前项目拆分开,词库可以在 https://github.com/houbb/sensitive-word-data 项目查看。
对应的资源文件在 https://github.com/houbb/sensitive-word-data/tree/main/src/main/resources 目录下
文件 | 说明 | 默认加载类 |
---|---|---|
sensitive_word_allow.txt |
内置自定义白名单词库 | WordAllowSystem |
sensitive_word_deny.txt |
内置自定义黑名单词库 | WordDenySystem |
sensitive_word_dict.txt |
内置黑名单词库 | WordDenySystem |
sensitive_word_dict_en.txt |
内置黑名单英文词库 | WordDenySystem |
sensitive_word_tags.txt |
内置敏感词标签词库 | WordTagSystem |
如何排除
比如一些 android app 引入时不希望包中内置敏感的信息,希望对词库加解密或者是放在服务端初始化加载。
系统的内置词库通过下面的 maven 依赖导入
<dependency>
<groupId>com.github.houbb</groupId>
<artifactId>sensitive-word-data</artifactId>
<version>${sensitive-word-data.version}</version>
</dependency>
依赖排除
所以可以按照 maven 排除规范,如下将其排除
<dependency>
<groupId>com.github.houbb</groupId>
<artifactId>sensitive-word</artifactId>
<version>${sensitive-word.version}</version>
<exclusions>
<exclusion>
<groupId>com.github.houbb</groupId>
<artifactId>sensitive-word-data</artifactId>
</exclusion>
</exclusions>
</dependency>
排除后自定义
不希望使用内置词库,那就需要将原来内置的词库依赖改为自己的依赖
默认配置项:
SensitiveWordBs sensitiveWordBs = SensitiveWordBs.newInstance()
.wordAllow(WordAllows.defaults())
.wordDeny(WordDenys.defaults())
.wordTag(WordTags.defaults())
.init();
你可以将用到的这3个配置,改为自己的实现。
可以通过加解密,或者加载远程服务的文件信息都可以。
开源项目
小结
希望本文对你有所帮助,如果喜欢,欢迎点赞收藏转发一波。
我是老马,期待与你的下次相遇。
敏感词系列
sensitive-word-admin 敏感词控台 v1.2.0 版本开源
sensitive-word-admin v1.3.0 发布 如何支持分布式部署?
05-敏感词之 DFA 算法(Trie Tree 算法)详解
06-敏感词(脏词) 如何忽略无意义的字符?达到更好的过滤效果
v0.19.0-敏感词新特性之敏感词单个编辑,不必重复初始化
v0.21.0 敏感词新特性之白名单支持单个编辑,修正白名单包含黑名单时的问题
v0.23.0 敏感词新特性之结果条件拓展,内置支持链式+单词标签
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!
标签:
相关文章
最新发布
- springboot~3.x项目中使用集成测试
- Java测试类、工具类与JavaBean对比解析
- SpringBoot-日志
- springboot~http2的支持
- 解疑释惑 - 日志体系之 slf4j + logback 组合(一)
- Web server failed to start. Port 8080 was already in use. 端口被占用
- Springboot 项目配置多数据源
- 伙伴匹配系统(移动端 H5 网站(APP 风格)基于Spring Boot 后端 + Vue3 - 05
- 剑指offer-23、搜索⼆叉树的后序遍历序列
- 一个表示金额的数字是 100000000L,这是多少米?