MARKLOGIC:是否有可能在MarkLogic数据摄取过程中产生URI ID时使用多于1列从CSV文件?

问题描述 投票:1回答:1

我很新的MarkLogic,我不知道如何以最佳方式与我现在所拥有的挑战应对。

我有一个将要咽下MarkLogic数据库中的表导出CSV文件。现在源表使用4列作为其唯一的主密钥的组合。

在MarkLogic,默认情况下,从CSV文件只有一列可以被用作URI ID。

我的问题是,是否有可能在MarkLogic数据提取过程中使用超过1列从一个CSV文件作为URI ID?如果是的话,这是功能还是在数据中心设置是否可用?如果它是不可能的,什么通常是这MarkLogic最好的做法是什么?

我知道,一个可能的解决办法是从4个主键列创建新列组合中的数据,并用它作为URI标识。

在先进的感谢您的帮助:)

csv uri marklogic marklogic-8 marklogic-dhf
1个回答
3
投票

您可以使用MLCP Transforms改造既含量值和URI。它变得既包含哈希对象$内容。作为更新所需的值,并返回更新哈希对象。就像是:

declare function example:transform(
  $content as map:map,
  $context as map:map
) as map:map*
{
  let $record := map:get($content, "value")
  let $uri := $record/prop1 || $record/prop2 || $record/prop3 
  let $_ := map:put($content, "uri", $uri)
  return $content
};

您可以使用这样的MLCP在marklogic-数据中心转变为好。

HTH!

© www.soinside.com 2019 - 2024. All rights reserved.