我们正在为文档存储建立一个解决方案,我们需要为每个文档存储大量额外的元数据,以符合地方法规,从标题或描述等基本数据到相关事件的日期、处置和分类规则。
我见过不同类型的解决方案,但没有一个能让我信服:
我倾向于5号,提供一个并行的全文索引(Lucene.Net?其他?)通过相关元数据进行搜索(并非所有内容都必须是“可搜索的”)。
有什么建议吗?类似的经历?
发布于 2009-05-07 16:10:33
表1:文件信息(PK是文档ID)
表2:元数据定义(PK是元数据定义ID)
表3:文档ID、元数据定义ID、元数据值
这样做的最大缺点是要么必须有一个类型(大概是varchar),要么必须有n个列(其中n是您愿意存储的数据类型的数量),然后在元数据定义表中使用一个列来标识表3中的哪一列来从中提取值。
我对以下五种解决方案的看法:
这就是我的想法--我从来没有设计过这样的系统,但我处理过一些使用过这些方案的商业系统。
发布于 2009-05-08 13:44:16
为什么不使用CouchDB呢?它正是为了满足这类需求而设计的。
如果这不是一个选项,考虑使用Lua或JSon (根据您的#5选项)作为元数据描述符。
发布于 2009-05-15 17:16:14
也许您可以看看JCR()。JCR是内容存储库的标准,它捕获了内容管理的共同需求,如版本控制、全文搜索和编辑。此外,它还提供了一个关于内容存储的抽象级别,这意味着您可以使用一个API将内容放入任何类型的存储系统,如数据库、xml文件等。当然,您可以通过使用JCR向文档节点添加一些属性来向文档中添加元数据。您不必担心文档和元数据将如何存储。JCR会处理的。JCR的参考实现是一种新型的JCR。试一试。
https://stackoverflow.com/questions/835514
复制相似问题