考虑以下 xml:-
<?xml version="1.0"?>
<catalog>
<book id="bk101">
<author>Gambardella, Matthew</author>
<title>XML Developer's Guide</title>
<genre>Computer</genre>
<price>44.95</price>
<publish_date>2000-10-01</publish_date>
<description>An in-depth look at creating applications
with XML.</description>
</book>
</catalog>
现在我想针对这个文档运行一个搜索查询并想要返回一个过滤的结果集(例如作者姓名)。
一种方法是:-
xquery version "1.0-ml";
import module namespace search="http://marklogic.com/appservices/search"
at "/Marklogic/appservices/search/search.xqy";
declare variable $options:=
<options xmlns="http://marklogic.com/appservices/search">
<transform-results apply="raw"/>
</options>;
for $x in search:search("", $options)/search:result
return $x//author/text()
但是search:search
API 首先将整个结果缓存在其缓存中,然后我们使用xpath找到我们想要的节点。我不想要这个。我希望search:search
API 只返回所需的元素,以便整个结果集不会缓存在marklogic
服务器中。谁能告诉我,我怎样才能做到这一点Marklogic
?