注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

天涯倦客的博客

祝福你朋友永远快乐!

 
 
 

日志

 
 

高性能关键字过虑组件KFilter  

2014-02-27 22:24:12|  分类: C# |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
转自:http://www.cnblogs.com/smark/archive/2013/02/05/2892686.html
KFilter是一个高性能的关键字过滤组件,它提供了灵活的过滤机制能自适应大小写,半全角,简繁和分隔符处理等。在一台I7的电脑上KFilter处理6k个关键字单线程每秒可以达到上千万字检索的效能。

关键字识别

KFilter的关键字处理是非常灵活,它不紧识别关键字本身,对该关键字的大小写,半全角,简繁和分隔符等都会归纳到识别范围内。

 

KFilter在处理数字和英文的时候也做了一些其他方面的工作,主要防止错杀的情况;如ava,java显然不是属于AV这个关键字范围。

使用

KFilter使用起来非常方便,只需要创建Keyword对象即可

 

1
2
3
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关键字每秒可以检索上千万字。检索结构通过树的方式处理,词的每个字符都会拆分到对应节点中。

下载 [说明:未经许可不能用于商业应用]

  评论这张
 
阅读(418)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017