在文件中查找文本(C#)

时间:2009-04-28 21:24:11

标签: c# search

我们的应用程序允许您将任何文件类型作为blob / image保存到MS SQL DB中。我现在必须提供在文件中搜索文本的功能。类似于标准Windows“在文件中查找”搜索。

实现这一目标的最佳方法是什么?我使用StreamReader读取文件中的所有文本,然后使用Regex进行匹配。只是不确定这是否是在文件中搜索的最有效方式。

由于

3 个答案:

答案 0 :(得分:3)

您应该查看SQL Server的全文搜索功能。

以下是一些好文章:

  

Full-Text Search
  SQL Server Full Text Search
  SQL Server Full-Text Indexing

我认为你会发现尝试从数据库中撤回许多大型记录,然后在内存中搜索它们效率非常低。这是您的RDBMS擅长的领域,如果配置正确,可以让您的生活更加简单。

答案 1 :(得分:0)

如果在sql server中使用全文搜索,可能会节省大量时间?这将让您查询文件以及处理一些非常复杂的查询。它可以使用iFilters(如microsoft frontpage)搜索blob内部

这是对基础知识的良好入门http://aspalliance.com/1512_understanding_full_text_search_in_sql_server_2005

这样做可以利用MS在全文搜索中所做的工作;如果您的文件类型不受支持,则从他们的界面中获取(大多数评论文档格式是直接支持的,或者是他们的生产者文档,docx,xl​​s,pdf等)

答案 2 :(得分:0)

在我看来,搜索应该由sql服务器完成,该服务器针对这样的内容进行了优化