在MarkLogic中,如何将自定义文档属性添加到所有文档?

时间:2018-12-24 06:54:42

标签: json csv marklogic marklogic-9 mlcp

我正在使用mlcp从CSV将JSON文档加载到数据库中。我想为所有这些文件添加一个属性,以后可以基于该属性值搜索文档。如何使用转换来做到这一点? 使用xdmp.documentAddProperties,我可以使用其URI将其应用于手动文档。

类似的查询,如何在摄取期间添加另一列?

1 个答案:

答案 0 :(得分:2)

MLCP转换没有内置的功能来帮助您解决问题,但是您可以在MLCP转换中使用xdmp.documentAddProperties。通常应该可以正常工作。

但是,出于性能原因,建议将元数据放入主文档中。我们为此使用的一种非常常见的模式(Data Hub Framework和实体服务也使用了这种模式)是将整个文档包装在一个信封中,并为出处标头信息,规范的模型实例,嵌入式三元组创建专用的“节”。以及附件。像这样:

{
  envelope: {
    header: {},
    triples: {},
    instance: {},
    attachments: {}
  }
}

这不是一个很严格的模式,因此您可以根据需要弯曲它,但是到现在为止,以上已成为非常普遍的模式。

总而言之,甚至值得考虑使用Data Hub Framework进行数据提取,而不是直接使用MLCP。您可以在此处找到有关此DHF的所有信息:

https://marklogic.github.io/marklogic-data-hub/

HTH!