从 Marklogic 查询结果中删除相关数据

Removing relevance data from Marklogic query results

对于下面的查询,我想修改选项以便我只检索值。查询 returns 路径、相关性以及值。我只需要这些值,以便我可以出于报告目的对其进行编辑。我可以了解如何完成这项任务吗?我还在 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")
])

听起来在这种情况下可能不需要 jsearch.documentSelect() 包装器。

cts.search() 函数 returns 文档作为 MarkLogic 8 中的 ValueIterator。

处理文档的一种简单方法是链接 toArray() 函数——如 cts.search().toArray()——然后链接标准数组 map() 或 reduce()将文档转换为报告的函数。

脚注:cts.search() returns MarkLogic 9 中的一个序列,但序列也有一个 toArray() 函数。

希望对您有所帮助,

有多个 search options 可让您自定义搜索响应。例如,您可以使用此选项禁用 return 聚合:

<options xmlns="http://marklogic.com/appservices/search">
  <return-aggregates>false</return-aggregates>
</options>

The query returns the path, the relevance as well as values.

如果 "relevance" 指的是分数、信心和健康度,我认为没有其他选择。