天天看點

社群網站項目3.1 過濾敏感詞

  字首樹:

(1)名稱:Trie、字典樹、查找樹

(2)特點:查找效率高,消耗記憶體大

(3)應用:字元串檢索、詞頻統計、字元串排序等

  敏感詞過濾器:

(1)定義字首樹

(2)根據敏感詞,初始化字首樹

(3)編寫過濾敏感詞的方法

  在resources下建立一個存放敏感詞的檔案sensitive-words.txt

賭博
嫖娼
吸毒
開票
           

  在util包下建立一個SensitiveFilter類,加上@Component注解,并加上構造方法後初始化注解@PostConstruct來加載敏感詞檔案sensitive-words.txt。

@PostConstruct
    public void init() {
        try(
                InputStream is = this.getClass().getClassLoader().getResourceAsStream("sensitive-words.txt"); //放在這個小括号裡,編譯的時候會自動finally
                //擷取類加載檔案夾下resources下的sensitive-words.txt
                BufferedReader reader = new BufferedReader(new InputStreamReader(is));
        ){
            String keyword;
            while((keyword = reader.readLine()) != null){
                // 添加到字首樹
                this.addKeyword(keyword);
            }
        }catch(IOException e){
            logger.error("過濾敏感詞檔案失敗:" + e.getMessage());
        }
    }
           

繼續閱讀