Marklogic 对数据库目录中的文档进行计数
假设我在MarkLogic数据库的目录Marklogic 对数据库目录中的文档进行计数,marklogic,Marklogic,假设我在MarkLogic数据库的目录/example中有50条记录。 有没有办法找到目录的大小?在这种情况下,它应该给我50。 我需要它在搜索API 提前谢谢 xdmp:estimate(cts:search(fn:doc(), cts:directory-query("/example/", "infinity"))) 使用over可获得快速响应 使用java api,您可以搜索给定目录,然后获得总点击次数 DatabaseClient client = DatabaseClien
/example
中有50条记录。
有没有办法找到目录的大小?在这种情况下,它应该给我50。
我需要它在搜索API
提前谢谢
xdmp:estimate(cts:search(fn:doc(), cts:directory-query("/example/", "infinity")))
使用over可获得快速响应 使用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();
此外,如果您喜欢搜索API,您可以使用Search:estimate()执行相同的操作。或者最简洁的形式可能是
xdmp:estimate(xdmp:directory($uri,'infinity'))
谢谢Dave。我很好奇我们如何使用JavaAPI实现同样的功能?效率如何?