Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Organization Jackrabbit/JCR文本内容数据的组织_Organization_Jackrabbit_Jcr - Fatal编程技术网

Organization Jackrabbit/JCR文本内容数据的组织

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属性) 我的第三

我在想,如何在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属性)

你认为什么是最好的解决方案?
讨论这一点太好了。

我会将常规文本存储在字符串属性中,除非它是一个大的(多KB)文本。这类似于关系数据库中的VARCHAR

对于不是“文件”的非常大的文本,我将使用二进制属性(流)。此类属性存储在中,写入和访问速度比字符串属性慢,但不会将整个项加载到内存中,并且只存储相同的数据一次。这类似于关系数据库中的BLOB/CLOB


对于文件,我将使用
nt:folder
/
nt:file
。这类似于文件系统中的文件。

将文本和html内容存储为nt:file结构,可通过WebDAV和其他了解这些结构的工具查看。这可能很有用,具体取决于您的应用程序

如果您不需要这个,您可以将文本内容存储为属性。在这种情况下,使用JSR-283规范的标准应用程序节点类型部分中定义的标准属性名:jcr:title、jcr:description等有助于保持一致

另请参见其中的一些相关建议