如何在Marklogic中改进xdmp:document-filter()性能?

时间:2012-08-07 12:27:08

标签: xquery marklogic

我正在使用xdmp:document-filter(doc())从文档中提取元数据(doc,docx,pdf等)。我们正在使用它,因为它适用于各种文档格式,并为每种文档生成 XHTML 格式。但是这个命令的主要缺点是它会减慢查询速度。如果数据库中有一个或两个文档,则查询工作正常,但如果有更多文档(例如10或15),则查询速度会变慢。我们希望从数据库中所有文档的元数据中提取和显示信息。

我们正在使用此查询: -

for $d in fn:doc()
return xdmp:document-filter(doc(fn:base-uri($d)))

有没有办法让这个查询更快地运行,还是有xdmp:document-filter()的替代方法?

1 个答案:

答案 0 :(得分:2)

xdmp:document-filter()通常在ETL时使用。如果您使用Information Studio加载内容,则可以添加“过滤文档”转换。您可以选择将提取的元数据存储为单独的xhtml文档,还是存储为文档属性。这样,他们就不需要在每次请求时动态计算。

HTH!