如何使用@PostConstruct初始化敏感词库和hutool过滤敏感词信息
文章目录
- 准备工作
- 敏感词存放的数据库
- 依赖
- 开搞
- 工具类
- 初始化
- 业务层部分
- 文档地址:
https://hutool.cn/docs/#/dfa/DFA%E6%9F%A5%E6%89%BE
准备工作
敏感词存放的数据库
依赖
import cn.hutool.dfa.WordTree;
开搞
工具类
- 存放hutool用来匹配敏感词的tree
public class WordTreeUtil {public static WordTree tree = new WordTree();
}
初始化
- 配置类,做初始化(项目启动执行),将敏感词数据库的数据放进hutool的tree内
@Configuration
@Slf4j
public class SensitiveWordInit {@Autowiredprivate SensitiveWordService sensitiveWordService;@PostConstructpublic void init(){log.info("开始初始化敏感词");QueryWrapper<SensitiveWord> queryWrapper = new QueryWrapper<>();LambdaQueryWrapper<SensitiveWord> wrapper = queryWrapper.lambda();wrapper.eq(SensitiveWord::getStatus,0);//启用的敏感词List<SensitiveWord> list = sensitiveWordService.list(wrapper);List<String> wordList = list.stream().map(SensitiveWord::getWord).collect(Collectors.toList());WordTreeUtil.tree.addWords(wordList);log.info("初始化敏感词成功");}
}
业务层部分
- 直接将传入的数据和hutool的tree内数据匹配即可,若含有则返回对应的数据
public String checkWord(SensitiveWordStringReq req) {String word = req.getWord();List<String> matchAll = WordTreeUtil.tree.matchAll(word, -1, false, false);if (CollectionUtils.isNotEmpty(matchAll)){return matchAll.toString();}return null;}
- ps: 匹配的规则
如何使用@PostConstruct初始化敏感词库和hutool过滤敏感词信息相关推荐
- 结巴分词完全禁用默认词库(仅使用自定义词库)
有时候需要使用自定义的词库,不使用默认的词库.比如做敏感词分词时, 完全禁用掉默认词库. jieba 分词里面可以这样处理,通过set_dictionary 来设置自定义词库,从而禁用掉默认词库. i ...
- bat 等待输入_深蓝词库转换 - 简单的输入法词库转换工具
深蓝词库转换 是一款 输入法词库转换 软件,支持包括 搜狗拼音.QQ拼音.Windows 10 微软拼音 在内的超过 20 种的输入法工具和词库.该程序支持 批量转换(一次拖拽多个词库文件,或者按住 ...
- 搜狗输入法词库php词库怎么用,搜狗输入法添加词库方法说明,打字更方便
搜狗输入法添加词库方法说明,打字更方便 2020-04-04 无论是电脑端还是手机端,搜狗输入端都是一款深受大众欢迎的打字软件,它提供了词库管理功能,用户可以随时添加词库,便于更好完成输入.搜狗输入法 ...
- php自定义词库简单分词,敏感词替换
关键词匹配类 <?phpnamespace App\Library;use App\Library\Redis;class SensitiveWordFilter {protected $dic ...
- Rime中州韵导入极点五笔词库(附:自制词库)
前言 之前写了一篇文章,[输入法]Rime-中州韵 基本设置 附:官方定制指南,其中导入词库这一块引用其它博主的文章,最近发现那个工具链接已经过期了,参考了百度贴吧的说明,不要直接使用工具去导入会更好 ...
- 充电复习之ES 扩展词库及热更新词库,扩展同义词词库,及热扩展词库
1.es扩展词库在/usr/local/es/elasticsearch-node01/plugins/elasticsearch-analysis-ik-7.2.1/config中新建文件 new_ ...
- 小站点如何做好长尾词库(600个长尾词排名的经验分享!)
做好长尾词,再做主词这是我一向推荐的,那么很多人认为长尾词库不好做,因为大多数的长尾词都是用内页在操作的,而实际上长尾词比主词更好做,并且可以起到非常好的辅助作用! 做好长尾词,先得有长尾词 大多数的 ...
- Google原生输入法LatinIME词库构建流程分析(三)--N-gram信息构建
N-gram信息的构建在ngram.cpp中进行构建: bool NGram::build_unigram(LemmaEntry *lemma_arr, size_t lemma_num,LemmaI ...
- requirednew基于xml配置日志不回滚_Elasticsearch配置IK分词器的远程词库
在生活中很多很多地方都涉及到了全文检索,最常见的就好比日常使用到的百度搜索等搜索引擎,也都是基于全文检索来实现的:全文检索种类较多,就好比Elasticsearch.Sorl等. 为Ealsticse ...
- Elasticsearch学习1 入门进阶 Linux系统下操作安装Elasticsearch Kibana 初步检索 SearchAPI Query DSL ki分词库 自定义词库
文章目录 一.全文检索-Elasticsearch 1.Elasticsearch简介 2.全文搜索引擎 二.docker安装 1.elasticsearch启动 2.kibana启动 三.[入门]初 ...
最新文章
- Spring3, Hibernate3.6与Proxool连接池配置
- UVa 11000 - Bee
- ubuntu c++ 实现自动回车键功能_从X86到ARM,实现C和C++语言90% Code自动迁移
- mimemultipart java_最佳实践 – 发送javamail mime multipart电子邮件和gmail
- java中ur 传参数_java参数传递(超经典)
- 获取SQL Server数据库增长和收缩事件的详细信息
- poj2513Colored Sticks(无向图判欧拉路、回路+trie树)
- neo4j入门(一)概述
- 常用plc编程软件阵营划分
- Java入门 - 循环结构基础
- vbs教程《日期时间》
- 新手电脑硬件软件故障解答(一)
- python 表情包 网站源码_Python实现表情包的代码实例
- java.util.MissingResourceException: Can‘t find resource for bundle java.util.PropertyResourceBundle
- 单元测试中 Right-BICEP 和 CORRECT
- Gerrit代码审计系统实战-Gerrit 2.15.14版本快速搭建
- 用STRAIGHT_JOIN优化mysql的执行速度
- java 将 object转成Integer
- 前端小demo_day02_聚光灯(CSS)实现
- vuejs 传参 向 子组件 父组件_VUe.js 父组件向子组件中传值及方法