简而言之:
JAVA/休眠/AJAX/SpringMVC
我希望用户发布的每条评论都应该在服务器端读取,然后再将其存储到数据库中,如果评论包含令人反感的文本,则拒绝该评论。
令人反感的文本列表非常庞大(可能有数千个)。查看此示例列表: http: //onlineslangdictionary.com/lists/most-vulgar-words/
我猜想迭代这个列表并执行如下函数并不是那么快。有没有其他方法可以更快地完成此过滤器?您认为搜索超过千分之一的项目会对 CPU/RAM 资源产生重大影响吗?欢迎任何建议!
for(String offensiveText : offensiveTextList ){
if(commentText.contains(offensiveText )){
//reject comment
}
}
更新:攻击性项目列表可以包含由其中的几个单词组成的项目(例如 3 个单词的文本,并且可以包含停用词)。它甚至可以包含非字母字符,如 *&^%。
如果评论包含相应的冒犯性项目(完全相同的字母),则认为它被拒绝