Mat*_*att 3 .net c# full-text-search
我在内存中有几兆文本存储在二维数组中,其中第一列是行号,第二列是文本本身。我想要做的是找到一个现有的解决方案,我可以在其中传递这种数据结构(它是可延展的)和理想情况下带有通配符的布尔搜索查询,并找出哪些行包含匹配项。有没有 API 可以做到这一点?我不想使用像 Lucene 这样的东西,因为我不想费心建立索引。我基本上想枚举字符串集合并返回那些与传入的查询匹配的字符串。
如果您正在加载数据,搜索一次,然后将其丢弃,那么您最好按照上面评论中的建议采用 LINQ+RegEx 路线。也就是说,您最好在第一次遍历数据时进行搜索,而不是像搜索引擎那样先遍历索引数据,然后搜索索引。
但是,如果您要加载一次数据然后重复搜索它,那么您最好使用搜索引擎。如果您仍然不想使用 Lucene.Net,具有全文搜索功能的内存System.Data.Sqlite数据库也可以很好地工作。