使用以下查询,我想修改选项,以便仅检索值。查询返回路径,相关性以及值。我只需要这些值,以便可以出于报告目的对其进行编辑。我可以了解如何完成此任务吗?我还在Marklogic 8中使用Javascript API。
results = jsearch.documentSelect(cts.search($error_details),
{namespaces: {//emf:namespace is declared here},
extract: {paths: ['//emf:properties/emf:property[@key = "filename"]/.',
'//emf:properties/emf:property[@key = "idnumber"]/.',
'//emf:properties/emf:property[@key = "error description"]/.',
'//emf:properties/emf:property[@key = "error code"]/.']}
}).toString();
查询
cts.andQuery([
cts.elementRangeQuery(fn.QName('uri','creation-time'), ">=", $startDate),
cts.elementRangeQuery(fn.QName('uri','creation-time'), "<", $endDate),
cts.elementValueQuery(fn.QName('uri','component-name'), "InvalidFiles" ),
cts.elementValueQuery(fn.QName('uri','category'), "error")
])
答案 0 :(得分:1)
在这种情况下,听起来好像不需要jsearch.documentSelect()包装器。
cts.search()函数在MarkLogic 8中将文档作为ValueIterator返回。
处理文档的一种简单方法是链接toArray()函数(如cts.search()。toArray()一样),然后链接标准数组map()或reduce()函数以转换文档进入报告。
脚注:cts.search()返回MarkLogic 9中的Sequence,但是序列也具有toArray()函数。
希望有帮助,
答案 1 :(得分:0)
有多个search options,可让您自定义搜索响应。例如,您可以使用以下选项禁用返回聚合:
<options xmlns="http://marklogic.com/appservices/search">
<return-aggregates>false</return-aggregates>
</options>
查询返回路径,相关性以及值。
如果您用“相关性”来表示得分,信心和适应性,我认为没有选择的余地。