【发布时间】:2018-08-09 09:12:44
【问题描述】:
我们之前使用 XQuery 进行 MarkLogic 查询。我们希望用 Java 代替它,因为它使用更广泛。
在遇到模块查询之前一切都很好。
import module namespace ent = "http://xxx.xx/model/entitlements" at "/Entitlements/entitlements.xqy";
在 Xquery 中,我们在下面使用。
let $final-query := ent:query($query, $cvUserId)
let $docs := cts:search(/, $final-query)
return $docs
ent:query(xx,xx) 在我们的 Linux 服务器中,我们无法获取源代码。 作为名称方,此查询将在执行搜索时进行权利检查。
我已经写了下面的 Java 代码来得到结果。
QueryManager queryManager = markLogicClient.newQueryManager();
StringQueryDefinition queryDef = queryManager.newStringDefinition("OPTIONS");
queryDef.setCriteria("Title:test");
XMLDocumentManager dManager = markLogicClient.newXMLDocumentManager();
DocumentPage docs = dManager.search(queryDef, 1, new DOMHandle());
dManager.search(queryDef, 1);
它适用于我的测试,但没有权利检查。
有没有可以用 Java 应用我自己的查询 ent:query(xx,xx) ?
Marklogic-8 & marklogic-client-api-4.0.4
【问题讨论】:
标签: marklogic marklogic-8