github地址: https://github.com/TomatoMr/SensitiveWords.git
或者
go get gopkg.in/TomatoMr/SensitiveWords.v1
SensitiveWords是基于DFA算法编写的敏感词汇检测插件,可独立部署,也可以集成到项目中.
cd config
cp config.toml.example config.toml
go build
-restart
:restart your http server, just like this: -restart or -restart=true|false.
-start [-d]
:up your http server, just like this: -start or -start=true|false [-d or -d=true|false].
-stop
:down your http server, just like this: -stop or -stop=true|false.
4.1 /check?content=xxx
作用:返回目标文本中,第一个敏感词汇
返回值:target:"", //第一个敏感词
result:"", //是否含有敏感词
4.2 /all?content=xxx
作用:返回目标文本中,第一个敏感词汇
返回值:target:[
word //敏感词
word_indexes //相同的敏感词在原文本中的索引的数组
word_length //该敏感词的长度
]
- GetMap()
获取SensitiveMap实例
- InitDictionary()
初始化敏感词典,并获得实例
- CheckSensitive(text string)
接受检测文本,并返回是否含有敏感词和第一个敏感词
- FindAllSensitive(text string)
接受检测文本,并返回所有敏感词
- GetConfig()
返回配置实例
DictionaryPath //敏感词典地址,根目录是本项目地址
Port //http server监听的web端口
PidFilePath //pid文件位置,用于命令行结束程序和重启程序,根目录是本项目地址
Q:重载词典?
A:修改config.toml->修改DictionaryPath->./SensitiveWords -restart
1.http://localhost:9981/check?content="脏话"
{"result":true,"target":"脏话"}
2.http://localhost:9981/all?content="脏话"
{"target":[{"word":"脏话","word_indexes":[0],"word_length":2}]}