3

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

4

2 回答 2

4

如果您正在加载数据,搜索一次,然后将其丢弃,那么您最好按照上面评论中的建议走 LINQ+RegEx 路线。也就是说,您最好在第一次遍历数据时进行搜索,而不是像搜索引擎那样对数据进行索引然后搜索索引。

但是,如果您要加载一次数据然后反复搜索,那么您最好使用搜索引擎。如果您仍然不想使用 Lucene.Net,那么具有全文搜索功能的内存中System.Data.Sqlite数据库也可以很好地工作。

于 2012-10-03T22:49:18.390 回答
0

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

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

于 2012-10-03T22:14:30.930 回答