【问题标题】:Should I save .pdf documents to the database or a folder that need to be searched我应该将 .pdf 文档保存到数据库还是需要搜索的文件夹中
【发布时间】:2010-03-01 16:11:12
【问题描述】:

我有一堆 PDF 文档需要在我正在制作的网站中使用。我确实需要能够搜索 PDF。那么将这些文件保存到数据库还是文件夹更好呢?另外,在这两种情况下,我如何搜索它们?我基本上会在它们中搜索 1 或 2 个单词并返回其中包含结果的 PDF 列表。做这一切的最好和最简单的方法是什么?此外,PDF 文件每年最多更改一次,有时甚至更少,我不需要保留修订历史。

【问题讨论】:

标签: c# sql sql-server-2008


【解决方案1】:

您可以使用 varbinary 字段和扩展字段将 PDF 存储在表格中。然后,您可以利用 Fulltext serch 引擎在 PDF 中进行搜索。您必须在 SQL 服务器中安装 PDF iFilter。我不知道这是否是最简单的方法,但我知道它效果很好。我正在使用该架构来存储数十万个文档,并且性能非常好。

【讨论】:

    【解决方案2】:

    这与将内容保存在文件系统中与将它们保存在数据库中的争论一遍又一遍。可悲的是,没有正确或错误的答案,这完全取决于您的项目范围。看看这个stackoverflow问题。这是关于将图像保存在数据库中,但原理相同。

    Store pictures as files or in the database for a web app?

    【讨论】:

      【解决方案3】:

      正如人们所说,我认为这两种方式都有很多优点和缺点,但如果我不得不做出这个决定,我绝对不会将 pdf 文件保存在数据库中。我说的不仅仅是与效率相关的术语……例如,如果您必须更改数据库引擎,我正在考虑您将来会做什么。我总是尽量获得最标准的数据库类型。 =)

      【讨论】:

        【解决方案4】:

        这取决于我们在这里讨论的文件数量。

        我可能会制作一个数据库表,在其中将文档信息(例如名称、描述、上传者等)映射到文件名。我不会将整个文件存储在数据库中。

        这样,您需要将磁盘上的文件与数据库同步。当有人删除文件时(使用 Web 界面),从数据库中删除该条目并删除磁盘上的文件。

        【讨论】:

        • 图片是一回事,我理解。不过,这更具体地涉及搜索文档。这是我想知道的。我什至不确定是否可以通过 .NET 网站搜索文件夹中的文档。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2010-10-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多