Marklogic 如何使用gradle mlExportToFile和REST转换创建NDJSON文件

Marklogic 如何使用gradle mlExportToFile和REST转换创建NDJSON文件,marklogic,ml-gradle,marklogic-10,Marklogic,Ml Gradle,Marklogic 10,我目前正在使用gradle mlExportToFile将json文档导出到一个文件中。但是,我需要最后一个文件采用换行符分隔的JSON格式,每个文档都位于文件中自己的行上。我看到mlExportToFile+REST转换方法可用于创建CSV,因此我假设这种方法也适用于NDJSON。我已经尝试了我能想到的一切,但文件仍然没有把记录放在自己的行中。非常感谢您的建议 我认为这里的限制是,当底层ExportToWriterListener(来自ML Java客户端/DMSDK库)将文档以从ML检索的格

我目前正在使用gradle mlExportToFile将json文档导出到一个文件中。但是,我需要最后一个文件采用换行符分隔的JSON格式,每个文档都位于文件中自己的行上。我看到mlExportToFile+REST转换方法可用于创建CSV,因此我假设这种方法也适用于NDJSON。我已经尝试了我能想到的一切,但文件仍然没有把记录放在自己的行中。非常感谢您的建议

我认为这里的限制是,当底层ExportToWriterListener(来自ML Java客户端/DMSDK库)将文档以从ML检索的格式写入文件时,默认情况下,该格式将包含换行符。ml gradle任务只是一行代码-
runQueryBatcherJob(new ExportToFileJob())
,因此您可以轻松自定义自己的任务

我相信您可以重用ExportToFileJob(在marklogic数据移动组件项目中)-它有一个
getExportListener()
方法,返回
ExportToWriterListener
(在marklogic客户端api项目中)。它有一个
onGenerateOutput(OutputListener)
方法,您可以在其中编写一个
OutputListener
,将JSON涂抹到一行中

这当然也可能成为ml gradle中的一个新特性;i、 e.属性,如
-PnewlineDelimitedJson=true


对此,您可以随意选择(尽管该增强实际上将在项目中进行)。

我不知道“mlExportToFile”是什么,但您可能可以编写一个小的Gradle任务,在导出json文件后漂亮地打印它。这对你有用吗?谢谢,这真的很有帮助!