高性能關鍵字過慮組件KFilter


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關鍵字每秒可以檢索上千萬字。檢索結構通過樹的方式處理,詞的每個字符都會拆分到對應節點中。

下載 [說明:未經許可不能用於商業應用]


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM