最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

【go

IT圈 admin 32浏览 0评论

【go

一、背景

关于敏感词,设计的过滤与屏蔽的方案我认为有2个方向

  • 一是:我们在写入的时候,对全部的文本进行控制,让敏感词被replaced
  • 二是:我们在展示的时候,对读取的文本进行控制,让敏感词被replaced

目前我是选择的后者,考虑到写入的性能与并发性,不对写入时进行控制
在读取后添加缓存的方式进行提高读的效率

这里就看您的业务对读需求量大,还是写入,自行评估去决策

二、关于 sensitive 与 trie算法

本次使用插件是 sensitive

其实他内部还是实现的trie算法

基础算法–Trie树

trie,又称前缀树或字典树,是一种有序树,用于保存关联数组,其中的键通常是字符串。与二叉查找树不同,键不是直接保存在节点中,而是由节点在树中的位置决定。一个节点的所有子孙都有相同的前缀,也就是这个节点对应的字符串,而根节点对应空字符串。一般情况下,不是所有的节点都有对应的值,只有叶子节点和部分内部节点所对应的键才有相关的值。 – 维基百科

2.1、配置

首先需要加载他的字典
之前尝试过通过对象存储去加载,对比

【go

一、背景

关于敏感词,设计的过滤与屏蔽的方案我认为有2个方向

  • 一是:我们在写入的时候,对全部的文本进行控制,让敏感词被replaced
  • 二是:我们在展示的时候,对读取的文本进行控制,让敏感词被replaced

目前我是选择的后者,考虑到写入的性能与并发性,不对写入时进行控制
在读取后添加缓存的方式进行提高读的效率

这里就看您的业务对读需求量大,还是写入,自行评估去决策

二、关于 sensitive 与 trie算法

本次使用插件是 sensitive

其实他内部还是实现的trie算法

基础算法–Trie树

trie,又称前缀树或字典树,是一种有序树,用于保存关联数组,其中的键通常是字符串。与二叉查找树不同,键不是直接保存在节点中,而是由节点在树中的位置决定。一个节点的所有子孙都有相同的前缀,也就是这个节点对应的字符串,而根节点对应空字符串。一般情况下,不是所有的节点都有对应的值,只有叶子节点和部分内部节点所对应的键才有相关的值。 – 维基百科

2.1、配置

首先需要加载他的字典
之前尝试过通过对象存储去加载,对比

发布评论

评论列表 (0)

  1. 暂无评论