houbb / sensitive-word

👮‍♂️The sensitive word tool for java.(敏感词/违禁词/违法词/脏词。基于 DFA 算法实现的高性能 java 敏感词过滤工具框架。请勿发布涉及政治、广告、营销、翻墙、违反国家法律法规等内容。高性能敏感词检测过滤组件,附带繁体简体互换,支持全角半角互换,汉字转拼音,模糊搜索等功能。)

Home Page:https://houbb.github.io/opensource/sensitive-word

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[功能建议] SensitiveWordBs无法序列化

ws-liusw opened this issue · comments

不同的过滤器需要绑定在不同的内容通道中,本来打算通过redis实现,后来发现咱们 SensitiveWordBs无法序列化,有其他方案可以支持序列化吗

微服务场景,在管理后台服务中根据用户配置,会存在多个不同的过滤器,过滤器又可以绑定在多个内容通道中,在service服务中,根据用户的所使用的内容通道,再获取敏感词过滤器(SensitiveWordBs),对输入输出内容进行过滤

由于service服务对响应延时的要求很高,无法在过滤时再对SensitiveWordBs进行init,本打算是在管理后台服务中,创建过滤器后就存入redis,在service服务直接获取使用

是的,目前已经策略,管理后台事件触发广播,服务端各个节点收到广播后,初始化SensitiveWordBs存放在内存中

后续需要观察,多个SensitiveWordBs对服务端内存的消耗情况,比较担心会出现内存溢出

可以实现一个专门的敏感词服务 内存适当即可。占用还行,做好资源的管理。