go敏感词过滤工具wordsfilter

朱锦
2023-12-01
package main

import (
	"fmt"
	"github.com/syyongx/go-wordsfilter"
)

//屏蔽敏感词
func main() {
	wf := wordsfilter.New()
	root, _ := wf.GenerateWithFile("sensitive.txt")
	//替换
	newStr := wf.Replace("不可描述XXXX", root)
	//打印替换好的文本
	fmt.Println(newStr)
}
  • 需要找个合适的敏感词库,再根据需要自定义一些敏感词
  • 可在第一次启动项目时,将预定的敏感词写入数据库,后通过对数据库的增删改去更新敏感词的数据表
  • 每次启动项目可以将数据库中的词库写入敏感词词典文件,再加载进去
  • 在项目运行过程中,希望修改敏感词词库后生效,需要定义一个手动刷新的接口
    • 每次刷新操作实际上是将Redis的自增键+1
    • 可通过协程任务检查Redis的自增键是否大于0,如果大于0就重新加载词典
    • 每加载成功一次,将自增键-1
 类似资料: