Documentation
¶
Index ¶
Constants ¶
View Source
const ( // DefaultCheckInterval 敏感词检查频率(默认5秒检查一次) DefaultCheckInterval = time.Second * 5 )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DirtyFilter ¶
type DirtyFilter interface {
// Filter 文本过滤函数
// excludes 表示排除指定的字符
// 返回文本中出现的敏感词,如果敏感词不存在则返回nil
// 如果出现异常,则返回error
Filter(text string, excludes ...rune) ([]string, error)
// FilterResult 文本过滤函数
// excludes 表示排除指定的字符
// 返回文本中出现的敏感词及出现次数,如果敏感词不存在则返回nil
// 如果出现异常,则返回error
FilterResult(text string, excludes ...rune) (map[string]int, error)
// FilterReader 从可读流中过滤敏感词
// excludes 表示排除指定的字符
// 返回可读流中出现的敏感词,如果敏感词不存在则返回nil
// 如果出现异常,则返回error
FilterReader(reader io.Reader, excludes ...rune) ([]string, error)
// FilterReaderResult 从可读流中过滤敏感词
// excludes 表示排除指定的字符
// 返回可读流中出现的敏感词及出现次数,如果敏感词不存在则返回nil
// 如果出现异常,则返回error
FilterReaderResult(reader io.Reader, excludes ...rune) (map[string]int, error)
// Replace 使用字符替换文本中的敏感词
// delim 替换的字符
// 如果出现异常,则返回error
Replace(text string, delim rune) (string, error)
}
DirtyFilter 提供敏感词过滤接口
func NewNodeChanFilter ¶
func NewNodeChanFilter(text <-chan string) DirtyFilter
NewNodeChanFilter 创建节点过滤器,实现敏感词的过滤 从通道中读取敏感词数据
func NewNodeFilter ¶
func NewNodeFilter(text []string) DirtyFilter
NewNodeFilter 创建节点过滤器,实现敏感词的过滤 从切片中读取敏感词数据
func NewNodeReaderFilter ¶
func NewNodeReaderFilter(rd io.Reader, delim byte) DirtyFilter
NewNodeReaderFilter 创建节点过滤器,实现敏感词的过滤 从可读流中读取敏感词数据(以指定的分隔符读取数据)
type DirtyManager ¶
type DirtyManager struct {
// contains filtered or unexported fields
}
DirtyManager 提供敏感词的管理
func NewDirtyManager ¶
func NewDirtyManager(store DirtyStore, checkInterval ...time.Duration) *DirtyManager
NewDirtyManager 使用敏感词存储接口创建敏感词管理的实例
type DirtyStore ¶
type DirtyStore interface {
// Write 将敏感词写入存储区,如果写入失败则返回error
Write(words ...string) error
// Read 以迭代的方式读取敏感词
Read() <-chan string
// ReadAll 获取所有的敏感词数据,如果获取失败则返回error
ReadAll() ([]string, error)
// Remove 移除敏感词,如果移除失败则返回error
Remove(words ...string) error
// Version 数据存储版本号
Version() uint64
}
DirtyStore 提供敏感词的读取、写入存储接口
Click to show internal directories.
Click to hide internal directories.