基于Wu-Manber算法的快速多关键词搜索

很多应用都需要高性能的多关键词搜索功能,网络”扫黄”开始后更是如此,如何在文本内容中快速地搜索出敏感关键字变得越来越重要。

Wu-Manber算法是一个不错的解决方案,尤其是针对包含有大量关键词的搜索。Wu-Manber算法的C语言实现非常丰富,为了方便如C#,VB.net等编程语言使用该算法,我用C/C++写了一个基于改进的Wu-Manber算法的多关键词搜索组件:wu-manber-com

Download wu-manber-com

使用方法

以vb.net/c#为例,使用前,先运行regsvr32 stringsearch.dll注册该组件,然后将stringsearch.dll添加到项目引用中。调用示例代码如下:

StringSearchLib.WuManber s = new StringSearchLib.WuManber();
s.AddPatterns("keyword1,keyword2,keyword3", ",", false);
int index = s.Search("... some text for searching...");
Console.WriteLine(index);

该控件不会搜寻所有存在的关键词,碰到第一个匹配的关键词,即返回该匹配的关键词在原文中的位置索引,没有找到则返回-1。

3 thoughts on “基于Wu-Manber算法的快速多关键词搜索”

Leave a Reply

Your email address will not be published.