marklogic - 在 Marlogic 中存储 XML 数据的最佳方式

标签 marklogic

我是 Marklogic 世界的新手。我的程序使用自定义 Java 应用程序每 30 秒查询 Beyond.com 获取 XML 数据源。结果以 XML 格式返回。 Java 应用程序使用 XCC API (Marklogic API) 将检索到的数据插入到单个 XML 文件中的 ML 中。数据大小为每分钟 6 MB,如果应用程序运行一天左右,数据量将以 GB 为单位增长。我不知道需要进行任何管理配置才能将如此大量的数据放入 MarkLogic 中的单个 XML 文件中。有人可以验证我的方法,或者建议我是否必须在管理员级别进行任何配置更改。 XML的结构如下...

<?xml version="1.0" encoding="UTF-8"?>      
<moreovercontentdump>        
<article id="_6232903453">           
<description></description>
<author></author>       
<source_category>Local</source_category>    
<genre>General</genre>  
<publisher></publisher> 
<media_type>text</media_type>   
<docurl>http://www.ilrestodelcarlino.it</docurl>    
<harvest_time>Apr  4 2012  4:28PM</harvest_time>    
<valid_time>May 14 2012  4:27PM</valid_time>    
</article>
<article id="_6232903453">           
<description></description>
<author></author>       
<source_category>Local</source_category>    
<genre>General</genre>  
<publisher></publisher> 
<media_type>text</media_type>   
<docurl>http://www.ilrestodelcarlino.it</docurl>    
<harvest_time>Apr  4 2012  4:28PM</harvest_time>    
<valid_time>May 14 2012  4:27PM</valid_time>    
</article>
<article id="_6232903453">           
<description></description>
<author></author>       
<source_category>Local</source_category>    
<genre>General</genre>  
<publisher></publisher> 
<media_type>text</media_type>   
<docurl>http://www.ilrestodelcarlino.it</docurl>    
<harvest_time>Apr  4 2012  4:28PM</harvest_time>    
<valid_time>May 14 2012  4:27PM</valid_time>    
</article>
</moreovercontentdump>        

最佳答案

查看示例 XML,我认为您可能希望将每篇文章存储在其自己的文档中。您可以编写 FLWOR 表达式来调用 xdmp:document-insert,或者如果您希望在异步任务中插入每个文档,则可以调用 xdmp:spawn

最简单的代码可能如下所示:

for $article in xdmp:http-get($some-url, $options)/moreovercontentdump/article
let $uri := concat('moreover/', $article/@id)
return xdmp:document-insert($uri, $article)

您可以通过重写一些原始 XML 来增强该代码。例如,您可能希望将 harvest_timevalid_time 元素重新格式化为 xs:dateTime 格式。这样您就可以在这些值上创建范围索引。

关于marklogic - 在 Marlogic 中存储 XML 数据的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10018744/

相关文章:

javascript - 为什么我无法捕获 MarkLogic 请求中的某些异常?

javascript - 我怎样才能获得有关文档的最重要信息以及我在 MarkLogic/Query Console 中搜索的单词周围的一些行?

maven - 如何在 xquery 中访问环境变量?

json - MarkLogic 7 REST API - 错误请求错误

java - 使用 MarkLogic 的 Java API 访问 HTML Tidy

xml - 如何创建嵌套约束?

java - MarkLogic PojoRepository 搜索范围日期不起作用

ubuntu - 如何在 Ubuntu 14.04 上安装 MarkLogic 8?

marklogic - 如何将三元组插入到特定的 XML 文档中?

marklogic - 如何获取光学查询返回的记录的uri