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}]}