Organization Jackrabbit/JCR文本内容数据的组织
我在想,如何在Jackrabbit中组织“普通”文本内容(即字符串、HTML代码…)。 对于纯文本内容(如文件)是否有任何推荐的结构 我是否应该将每个文本内容存储为二进制文件(就像我对文件所做的那样) Node(nt:folder)-->Node(nt:file)-->Node(jcr:content,具有保存二进制文件的jcr:data属性) 还是有这样的东西更好 Node(nt:folder)->Node(nt:unstructured,带有保存字符串的jcr:message属性) 我的第三个想法是为文本内容创建一个单独的名称空间 Node(nt:folder)-->Node(my:text,带有保存字符串的jcr:message属性) Node(nt:folder)-->Node(my:html,带有保存字符串的jcr:message属性) 你认为什么是最好的解决方案?Organization Jackrabbit/JCR文本内容数据的组织,organization,jackrabbit,jcr,Organization,Jackrabbit,Jcr,我在想,如何在Jackrabbit中组织“普通”文本内容(即字符串、HTML代码…)。 对于纯文本内容(如文件)是否有任何推荐的结构 我是否应该将每个文本内容存储为二进制文件(就像我对文件所做的那样) Node(nt:folder)-->Node(nt:file)-->Node(jcr:content,具有保存二进制文件的jcr:data属性) 还是有这样的东西更好 Node(nt:folder)->Node(nt:unstructured,带有保存字符串的jcr:message属性) 我的第三
讨论这一点太好了。我会将常规文本存储在字符串属性中,除非它是一个大的(多KB)文本。这类似于关系数据库中的VARCHAR 对于不是“文件”的非常大的文本,我将使用二进制属性(流)。此类属性存储在中,写入和访问速度比字符串属性慢,但不会将整个项加载到内存中,并且只存储相同的数据一次。这类似于关系数据库中的BLOB/CLOB
对于文件,我将使用
nt:folder
/nt:file
。这类似于文件系统中的文件。将文本和html内容存储为nt:file结构,可通过WebDAV和其他了解这些结构的工具查看。这可能很有用,具体取决于您的应用程序
如果您不需要这个,您可以将文本内容存储为属性。在这种情况下,使用JSR-283规范的标准应用程序节点类型部分中定义的标准属性名:jcr:title、jcr:description等有助于保持一致
另请参见其中的一些相关建议