将文档的URI更改为2个字段的组合

时间:2018-12-14 08:37:48

标签: xml uri marklogic marklogic-9 mlcp

我正在使用定界的CSV文件使用mlcp 在MarkLogic中加载数据,该数据将数据存储为XML文档。我正在使用 mlcp 中的 uri_id 选择要用作uri id的列,但是我只能选择一个列而不是组合使其具有唯一性。

import
-mode
local
-host
localhost
-port
8076
-username
marklogic
-password
marklogic
-input_file_path 
C:\\Users\\userX\\Downloads\\doc.txt
-input_file_type
delimited_text 
-uri_id 
EMPID

我该怎么做?如果我需要使用转换,该如何使用?

我发现了一个类似的问题,但是它的解决方案具有我无法理解的转换代码。

如果我有一个列为A,B,C,D的csv文件,那么如何使用mlcp将文档加载到我的MarkLogic数据库中,并以AB或AC或BD之类的? 该其他解决方案中给出的代码是:

///////////////////

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
};

///////////////////////////

根据我的理解,我将prop1和prop2替换为像A或B这样的列名,但是其余的呢?仅仅通过更改列名是行不通的。 PS:遵循的步骤:在.xqy文件中编写此XQuery函数,并使用xdmp doc加载到模块db中进行上传。然后使用mlcp命令运行它。

0 个答案:

没有答案