本文章摘编、转载需要注明来源 http://blog.youkuaiyun.com/shadowsick/article/details/8891939
在应用项目中很多时候都需要用到过滤敏感词的功能,自己写个遍历明显在小数据的时候还能凑合下,但是对于大数据的时候就有点力不从心了,这里推荐使用ac多模匹配算法
先来写个应用类
/**
* AC多模匹配敏感字符工具类实现类
*
* @author shadow
* @email 124010356@qq.com
* @create 2012.04.28
*/
public class AcUtilImpl implements AcUtil {
public String contrast(String filters, String word, String regex) {
if (null == filters || "".equals(filters) || null == word
|| "".equals(word))
return "";
AhoCorasick ac = new AhoCorasick();
String[] strings = StringUtils.split(filters, regex);
for (String string : strings)
ac.add(string.getBytes(), string);
ac.prepare();
return matching(ac, word);
}
public String contrast(String[] filters, String word) {
if (null == filters || filters.length <= 0 || null == word
|| "".equals(word))
return "";
AhoCorasick
AC多模匹配算法在敏感词过滤中的应用

本文介绍了如何使用AC多模匹配算法在大数据场景下高效地过滤敏感词。通过创建应用类并进行测试,展示了该算法在性能和匹配度上的优势。在Java Web项目中,可以引入AhoCorasick类来实现这一功能。
最低0.47元/天 解锁文章
5790

被折叠的 条评论
为什么被折叠?



