如何在Marklogic中获取与URI模式匹配的所有文档

如何在Marklogic中获取与URI模式匹配的所有文档,marklogic,Marklogic,我开始学习marklogic的JavaAPI,我想知道的是如何获得符合特定URI模式的所有文档 例如,我想从ML-db获取所有文档,其中URI模式是 “/Downloads/Current/com.crc.eng.dollar/*”我使用的是XQuery API,而不是Java API,但是您可以尝试通过XCC使用cts:uri匹配(请参见:)您可以查询目录中的文档。应采取以下措施: DatabaseClient client = DatabaseClientFactory

我开始学习marklogic的JavaAPI,我想知道的是如何获得符合特定URI模式的所有文档

例如,我想从ML-db获取所有文档,其中URI模式是
“/Downloads/Current/com.crc.eng.dollar/*”

我使用的是XQuery API,而不是Java API,但是您可以尝试通过XCC使用cts:uri匹配(请参见:)

您可以查询目录中的文档。应采取以下措施:

DatabaseClient         client    = DatabaseClientFactory.newClient(...);
GenericDocumentManager docMgr    = client.newDocumentManager()
QueryManager           queryMgr  = client.newQueryManager();
StructuredQueryBuilder queryBldr = new StructuredQueryBuilder();

for (int pageNo=1; pageNo < YOUR_MAXIMUM_BEFORE_STOPPING; pageNo++) {
    SearchHandle resultsHandle = queryMgr.search(
        queryBldr.directory(true, "/Downloads/Current/com.crc.eng.dollar/"),
        new SearchHandle(),
        pageNo
        );

    MatchDocumentSummary[] docSummaries = resultsHandle.getMatchResults();
    for (MatchDocumentSummary docSummary: docSummaries) {
        InputStreamHandle docHandle = docMgr.read(
            docSummary.getUri(), new InputStreamHandle()
            );
        // ... do something with the document ...
    }

    if (docSummaries.length < queryMgr.getPageLength()) {
        break;
    }
}
DatabaseClient-client=DatabaseClientFactory.newClient(…);
GenericDocumentManager docMgr=client.newDocumentManager()
QueryManager queryMgr=client.newQueryManager();
StructuredQueryBuilder queryBldr=新StructuredQueryBuilder();
对于(int pageNo=1;pageNo<停止前的最大值;pageNo++){
SearchHandle resultsHandle=queryMgr.search(
queryBldr.directory(true,“/Downloads/Current/com.crc.eng.dollar/”,
新的SearchHandle(),
页码
);
MatchDocumentSummary[]docSummaries=resultsHandle.getMatchResults();
用于(匹配文档摘要文档摘要:文档摘要){
InputStreamHandle docHandle=docMgr.read(
docSummary.getUri(),新的InputStreamHandle()
);
//…对文档执行某些操作。。。
}
if(docSummaries.length
为了提高查询效率,请将查询选项持久化,并将代码段转换设置为空,并在创建查询生成器时标识查询选项

如果所有文档都是JSON或XML,则可以使用更具体的文档管理器

顺便说一下,在MarkLogic8中,查询将能够直接返回一页文档

有关更多信息: