用golang实现基于DFA算法编写的敏感词汇检测插件
MRTOMATO_7084 · · 3367 次点击 · · 开始浏览SensitiveWords
Get
github地址: https://github.com/TomatoMr/SensitiveWords.git
或者
go get github.com/TomatoMr/SensitiveWords
Introduction
SensitiveWords是基于DFA算法编写的敏感词汇检测插件,可独立部署,也可以集成到项目中.
Usage
独立部署
1. 复制配置文件
cd config
cp config.toml.example config.toml
2. 构建二进制包
go build
3. 使用方法
-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. Api
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}]}
有疑问加站长微信联系(非本文作者)
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
关注微信- 请尽量让自己的回复能够对别人有帮助
- 支持 Markdown 格式, **粗体**、~~删除线~~、
`单行代码` - 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
- 图片支持拖拽、截图粘贴等方式上传
收入到我管理的专栏 新建专栏
SensitiveWords
Get
github地址: https://github.com/TomatoMr/SensitiveWords.git
或者
go get github.com/TomatoMr/SensitiveWords
Introduction
SensitiveWords是基于DFA算法编写的敏感词汇检测插件,可独立部署,也可以集成到项目中.
Usage
独立部署
1. 复制配置文件
cd config
cp config.toml.example config.toml
2. 构建二进制包
go build
3. 使用方法
-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. Api
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}]}