计算数据库目录中的文档

时间:2014-12-29 09:11:24

标签: marklogic

假设我在MarkLogic数据库的目录/example中有50条记录。 有没有办法找到目录的大小?在这种情况下它应该给我50。 我在搜索API中需要它。

提前致谢

2 个答案:

答案 0 :(得分:8)

xdmp:estimate(cts:search(fn:doc(), cts:directory-query("/example/", "infinity")))

使用xdmp:estimate而不是fn:count来获得快速响应。

答案 1 :(得分:3)

使用java api,您可以搜索给定目录,然后获得总命中数。

    DatabaseClient client = DatabaseClientFactory.newClient(host,port, "admin", "****", Authentication.DIGEST);
    QueryManager queryMgr = client.newQueryManager();
    StructuredQueryBuilder qb = new StructuredQueryBuilder();
    StructuredQueryDefinition querydef = 
            qb.directory(true, "/content/enhanced-rosetta/");
    SearchHandle resultsHandle = queryMgr.search(querydef,new SearchHandle());
    MatchDocumentSummary[] results = resultsHandle.getMatchResults();
    System.out.println("Total count=" + resultsHandle.getTotalResults());
    client.release();