-2

我决定在 Java 中开发一个EDMS,作为我最后一年 IT 研究的年终项目,我目前正在研究用于上传和存储不同格式文件及其元数据的数据库解决方案。我希望能够查询文件元数据和文件内容(即:返回 2012 年 6 月之后由用户 John 创建并包含字符串“finance”的所有文档)。

我知道数据库用于数据,文件系统用于文件,如本文所述,但我的一些老师建议我研究 XML 数据库、Apache CocoonApache Jackrabbit,我不得不承认我不知所措我应该采取哪种方法。 这篇文章似乎暗示MongoDB将是我最好的选择?

感谢您的耐心和帮助。

塞巴斯蒂安

4

1 回答 1

3

如果没有您计划实施的功能,很难说。假设您的系统将:

  1. 允许上传文件
  2. 允许基于各种元数据搜索文档
  3. 允许下载

考虑:

  1. 将文件保存在文件系统中,但将元数据保存在 mysql 等数据库中
  2. 将文件保存在文件系统中,但使用 Elasticsearch 之类的搜索引擎来存储元数据。

这两种解决方案都将根据您的搜索方式起作用。您的应用程序流程将是:

上传文件

  1. 用户上传新文档
  2. 分配文档内部 ID
  3. 根据该 ID 将文档存储在文件系统中
  4. 使用 ID 将元数据存储在数据库/elasticsearch 中以引用文件

检索文件

  1. 用户输入搜索条件
  2. 您为数据库或弹性搜索生成查询
  3. 显示结果。结果将包含与您创建的内部 ID 的链接
  4. 用户选择结果。您使用 ID 获取文档
于 2013-11-24T15:10:50.213 回答