在使用.NET的内存文本搜索中

时间:2012-10-03 22:00:29

标签: c# .net full-text-search

我在存储在二维数组中的内存中有几个文本,其中第一列是行号,第二列是文本本身。 我想要做的是找到一个现有的解决方案,我可以传递这种数据结构(它是可塑的)和理想情况下使用通配符的布尔搜索查询,并找出哪些行包含匹配。 有没有API可以做到这一点?我不想使用像Lucene这样的东西,因为我不想打扰建立一个索引。我基本上想要枚举字符串集合并返回那些对传入的查询有点击的字符串。

2 个答案:

答案 0 :(得分:4)

如果您正在加载数据,搜索一次,然后扔掉它,那么最好按照上面的评论中的建议去LINQ + RegEx路线。也就是说,您可以在第一次通过数据时进行搜索,而不是通过索引数据然后搜索索引作为搜索引擎。

但是,如果您要加载一次数据然后重复搜索,那么您最好使用搜索引擎。如果您仍然不想使用Lucene.Net,那么带有全文搜索功能的内存System.Data.Sqlite数据库也可以正常运行。

答案 1 :(得分:0)

将它们存储在SQL服务器中并使用本文档中描述的方法是否有用?

http://msdn.microsoft.com/en-us/library/ms142571.aspx