hatte ich geschrieben zunächst die Abfrage:Marklogic: Mit xdmp: Schätzung und Kodierungsstandards
cts:search(fn:doc(),cts:element-range-query(xs:QName("ts:week"), ">=", xs:date("2009-05-01")),"unfiltered")
ich es auf die folgende geändert, da es mehr Ästhetik schien:
let $range_query := cts:element-range-query(xs:QName("ts:week"), ">=", xs:date("2009-05-01"))
let $query := cts:search(fn:doc(), $range_query, "unfiltered")
return $query
ich das gleiche bekam Ergebnisse wie erwartet.
Nun, nur um meine "ungefilterte" Herangehensweise zu bestätigen, habe ich die Überprüfung von fn: count vs xdmp: estimate durchgeführt.
xdmp:estimate(cts:search(fn:doc(),cts:element-range-query(xs:QName("ts:week"), ">=", xs:date("2009-05-01")))
Die obige Abfrage lief gut und gab das erwartete Ergebnis zurück.
Aber
let $range_query := cts:element-range-query(xs:QName("ts:week"), ">=", xs:date("2009-05-01"))
let $query := cts:search(fn:doc(), $range_query)
return xdmp:estimate($query)
Gab mir einen Fehler: Ausdruck unergründlich ist.
1) Benutzt mein Ansatz die empfohlene Methode zum Schreiben von Code in MarkLogic?
2) Was macht den Ausdruck mit dem Let and Return-Ansatz unerforschbar?
Ich lege den Suchausdruck in xdmp: Schätzung, es funktioniert gut. Vielen Dank. – Yash