【问题标题】:Jackrabbit / JCR organisation of text content dataJackrabbit / JCR 组织文本内容数据
【发布时间】:2011-04-06 14:21:26
【问题描述】:

我在想,如何在 Jackrabbit 中组织“普通”文本内容(即字符串、HTML 代码……)。 是否有任何推荐的纯文本内容结构(如文件)?

我是否应该将每个文本内容存储为二进制文件(就像我对文件所做的那样) Node(nt:folder)--> Node(nt:file) --> Node(jcr:content with a jcr:data property,保存二进制文件)

或者最好有类似的东西 Node(nt:folder)--> Node(nt:unstructured with a jcr:message property which contains the string)

我的第三个想法是为文本内容创建一个单独的名称空间 Node(nt:folder)--> Node(my:text with a jcr:message property which contains the string) Node(nt:folder)--> Node(my:html with a jcr:message property which contains the string) ...

您认为最好的解决方案是什么? 很高兴讨论这个问题。

【问题讨论】:

    标签: organization jackrabbit jcr


    【解决方案1】:

    将文本和 html 内容存储为 nt:file 结构使其可以通过 WebDAV 和其他了解这些结构的工具可见。根据您的应用程序,这可能很有用。

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

    另请参阅http://wiki.apache.org/jackrabbit/DavidsModel,其中有一些相关建议。

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-07-08
        • 2013-08-24
        • 1970-01-01
        • 2022-10-21
        • 2011-11-02
        相关资源
        最近更新 更多