【问题标题】:Find text in files (C#)在文件中查找文本 (C#)
【发布时间】:2009-04-28 21:24:10
【问题描述】:

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

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

谢谢

【问题讨论】:

    标签: c# search


    【解决方案1】:

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

    这里有一些不错的文章:

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

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

    【讨论】:

      【解决方案2】:

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

      这是一本很好的基础知识入门http://aspalliance.com/1512_understanding_full_text_search_in_sql_server_2005

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

      【讨论】:

        【解决方案3】:

        在我看来,搜索应该由经过优化的 sql server 来完成

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2013-04-18
          • 2010-11-30
          • 1970-01-01
          • 2011-07-06
          • 2022-10-04
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多