假设我在MarkLogic数据库的目录/example
中有50条记录。
有没有办法找到目录的大小?在这种情况下它应该给我50。
我在搜索API中需要它。
提前致谢
答案 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();