正在显示
1 个修改的文件
包含
2 行增加
和
2 行删除
| 1 | # 高效敏感词过滤 | 1 | # 高效敏感词过滤 |
| 2 | 2 | ||
| 3 | -[TOC] | ||
| 4 | 3 | ||
| 5 | ## 性能概述 | 4 | ## 性能概述 |
| 6 | 5 | ||
| @@ -16,6 +15,7 @@ | @@ -16,6 +15,7 @@ | ||
| 16 | ## 优化方式 | 15 | ## 优化方式 |
| 17 | 16 | ||
| 18 | 主要的优化目标是速度,从以下方面优化: | 17 | 主要的优化目标是速度,从以下方面优化: |
| 18 | + | ||
| 19 | 1. 敏感词都是2个字以上的, | 19 | 1. 敏感词都是2个字以上的, |
| 20 | 2. 对于句子中的一个位置,用2个字符的hash在稀疏的hash桶中查找,如果查不到说明一定不是敏感词,则继续下一个位置。 | 20 | 2. 对于句子中的一个位置,用2个字符的hash在稀疏的hash桶中查找,如果查不到说明一定不是敏感词,则继续下一个位置。 |
| 21 | 3. 2个字符(2x16位),可以预先组合为1个int(32位)的mix,即使hash命中,如果mix不同则跳过。 | 21 | 3. 2个字符(2x16位),可以预先组合为1个int(32位)的mix,即使hash命中,如果mix不同则跳过。 |
| @@ -41,7 +41,7 @@ System.out.println(filter.filter("会上,主席进行了发言。", '*')); | @@ -41,7 +41,7 @@ System.out.println(filter.filter("会上,主席进行了发言。", '*')); | ||
| 41 | 会上,**进行了发言。 | 41 | 会上,**进行了发言。 |
| 42 | ``` | 42 | ``` |
| 43 | 43 | ||
| 44 | -## 代码只有3个类如下 | 44 | +## 代码只有3个类直接贴上 |
| 45 | 45 | ||
| 46 | 46 | ||
| 47 | ### SensitiveFilter.java | 47 | ### SensitiveFilter.java |
-
请 注册 或 登录 后发表评论