文章目录

  • 准备工作
    • 敏感词存放的数据库
    • 依赖
  • 开搞
    • 工具类
    • 初始化
    • 业务层部分
  • 文档地址: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过滤敏感词信息相关推荐

  1. 结巴分词完全禁用默认词库(仅使用自定义词库)

    有时候需要使用自定义的词库,不使用默认的词库.比如做敏感词分词时, 完全禁用掉默认词库. jieba 分词里面可以这样处理,通过set_dictionary 来设置自定义词库,从而禁用掉默认词库. i ...

  2. bat 等待输入_深蓝词库转换 - 简单的输入法词库转换工具

    深蓝词库转换 是一款 输入法词库转换 软件,支持包括 搜狗拼音.QQ拼音.Windows 10 微软拼音 在内的超过 20 种的输入法工具和词库.该程序支持 批量转换(一次拖拽多个词库文件,或者按住 ...

  3. 搜狗输入法词库php词库怎么用,搜狗输入法添加词库方法说明,打字更方便

    搜狗输入法添加词库方法说明,打字更方便 2020-04-04 无论是电脑端还是手机端,搜狗输入端都是一款深受大众欢迎的打字软件,它提供了词库管理功能,用户可以随时添加词库,便于更好完成输入.搜狗输入法 ...

  4. php自定义词库简单分词,敏感词替换

    关键词匹配类 <?phpnamespace App\Library;use App\Library\Redis;class SensitiveWordFilter {protected $dic ...

  5. Rime中州韵导入极点五笔词库(附:自制词库)

    前言 之前写了一篇文章,[输入法]Rime-中州韵 基本设置 附:官方定制指南,其中导入词库这一块引用其它博主的文章,最近发现那个工具链接已经过期了,参考了百度贴吧的说明,不要直接使用工具去导入会更好 ...

  6. 充电复习之ES 扩展词库及热更新词库,扩展同义词词库,及热扩展词库

    1.es扩展词库在/usr/local/es/elasticsearch-node01/plugins/elasticsearch-analysis-ik-7.2.1/config中新建文件 new_ ...

  7. 小站点如何做好长尾词库(600个长尾词排名的经验分享!)

    做好长尾词,再做主词这是我一向推荐的,那么很多人认为长尾词库不好做,因为大多数的长尾词都是用内页在操作的,而实际上长尾词比主词更好做,并且可以起到非常好的辅助作用! 做好长尾词,先得有长尾词 大多数的 ...

  8. Google原生输入法LatinIME词库构建流程分析(三)--N-gram信息构建

    N-gram信息的构建在ngram.cpp中进行构建: bool NGram::build_unigram(LemmaEntry *lemma_arr, size_t lemma_num,LemmaI ...

  9. requirednew基于xml配置日志不回滚_Elasticsearch配置IK分词器的远程词库

    在生活中很多很多地方都涉及到了全文检索,最常见的就好比日常使用到的百度搜索等搜索引擎,也都是基于全文检索来实现的:全文检索种类较多,就好比Elasticsearch.Sorl等. 为Ealsticse ...

  10. Elasticsearch学习1 入门进阶 Linux系统下操作安装Elasticsearch Kibana 初步检索 SearchAPI Query DSL ki分词库 自定义词库

    文章目录 一.全文检索-Elasticsearch 1.Elasticsearch简介 2.全文搜索引擎 二.docker安装 1.elasticsearch启动 2.kibana启动 三.[入门]初 ...

最新文章

  1. Spring3, Hibernate3.6与Proxool连接池配置
  2. UVa 11000 - Bee
  3. ubuntu c++ 实现自动回车键功能_从X86到ARM,实现C和C++语言90% Code自动迁移
  4. mimemultipart java_最佳实践 – 发送javamail mime multipart电子邮件和gmail
  5. java中ur 传参数_java参数传递(超经典)
  6. 获取SQL Server数据库增长和收缩事件的详细信息
  7. poj2513Colored Sticks(无向图判欧拉路、回路+trie树)
  8. neo4j入门(一)概述
  9. 常用plc编程软件阵营划分
  10. Java入门 - 循环结构基础
  11. vbs教程《日期时间》
  12. 新手电脑硬件软件故障解答(一)
  13. python 表情包 网站源码_Python实现表情包的代码实例
  14. java.util.MissingResourceException: Can‘t find resource for bundle java.util.PropertyResourceBundle
  15. 单元测试中 Right-BICEP 和 CORRECT
  16. Gerrit代码审计系统实战-Gerrit 2.15.14版本快速搭建
  17. 用STRAIGHT_JOIN优化mysql的执行速度
  18. java 将 object转成Integer
  19. 前端小demo_day02_聚光灯(CSS)实现
  20. vuejs 传参 向 子组件 父组件_VUe.js 父组件向子组件中传值及方法

热门文章

  1. 记录—java获取服务器的信息
  2. matlab报错找不到icuuc54.dll解决办法:
  3. 【摘抄】SLAM中的位姿
  4. Linux——虚拟机系统安装
  5. zynq以太网官网例子调试
  6. 国内十大主流安卓和iOSApp应用商店推广渠道列表
  7. RFID酒店布草洗涤管理系统应用
  8. 机器学习的1000+篇文章总结
  9. 深圳中技物流有限公司软件测试,国际空运
  10. FPGA(FIR)数字信号处理