用于针对内存中字符串的复杂查询的C#库

时间:2009-11-03 12:14:47

标签: c# search-engine

我正在寻找能够使用复杂搜索字符串的内容,并允许我针对某些文本对其进行测试,以确定文本是否符合搜索条件。

我想支持类似于google / twitter的查询语法(即支持:和,或者,不是,精确的字符串,通配符等),并且还希望它能够处理多个单词(如果我可以拥有,可能是同义词我的蛋糕,吃它)。我想我想要的是搜索引擎的分析和查询方面,而无需构建和维护索引。

我真的想避免开发这个,并认为这似乎是一个相当普遍的要求。但我无法在.net世界中发现任何能够满足我需求的东西。

我想我可以使用Lucene.net的元素来做到这一点,但没有经验。所以我想知道是否有任何想法可能会有所帮助,或者如果他们之前已经做过这些想法(以及他们使用了什么)。如果可以集成,很乐意考虑非.NET解决方案。

非常感谢任何输入。

此致 阿伦

2 个答案:

答案 0 :(得分:2)

正则表达式正是您的解决方案。

你提到它唯一不支持的是同义词和复数,显然,因为这是语言所依赖的。但我想,你可以很容易地得到一个同义词列表,或者英语中的特殊复数或类似的复数,然后为那些编写你的正则表达式构建器(非常简单)。

正则表达式是正则表达式的快捷方式,是众所周知的引擎,存在于许多语言库中。

一个不错的网站,你可以从http://www.regular-expressions.info/学习正则表达式。

在dot net中,所有与Regex相关的类都在System.Text.RegularExpressions中。你可以很容易地自己猜测如何使用它...(或只是谷歌C#REGEX或其他东西)

答案 1 :(得分:0)

不是.NET,但也许你可以从这里获取一些想法:http://eigenclass.org/hiki/simple+full+text+search+engine