KFilter是一個高性能的關鍵字過濾組件,它提供了靈活的過濾機制能自適應大小寫,半全角,簡繁和分隔符處理等。在一台I7的電腦上KFilter處理6k個關鍵字單線程每秒可以達到上千萬字檢索的效能。
關鍵字識別
KFilter的關鍵字處理是非常靈活,它不緊識別關鍵字本身,對該關鍵字的大小寫,半全角,簡繁和分隔符等都會歸納到識別范圍內。
KFilter在處理數字和英文的時候也做了一些其他方面的工作,主要防止錯殺的情況;如ava,java顯然不是屬於AV這個關鍵字范圍。
使用
KFilter使用起來非常方便,只需要創建Keyword對象即可
Keyword kw = new Keyword(); kw.Add("av"); kw.Matchs("java");在添加關鍵字后就可以進行匹配操作, Keyword的主要方法有IsMatch,Match,Matchs和Replace方法。主要滿足使用情況的需要IsMatch
Match用於檢測一個字符是存在關鍵字
獲取第一個匹配的關鍵字項Matchs
獲取所有匹配關鍵字項Replace
替換所有匹配項,替換字符通過Keywork.ReplaceData設置替換字符。
Keywork所有方法都是線程安全。
性能
KFilter雖然存在多樣性的匹配模式,但性能也比較出色在E1230V2的CPU下6k關鍵字每秒可以檢索上千萬字。檢索結構通過樹的方式處理,詞的每個字符都會拆分到對應節點中。
下載 [說明:未經許可不能用於商業應用]