MarkLogic を使用して、比較的大きな xml データセットをクエリしています。現在、次のような 2 つのクエリ セットを使用しています。
xdmp:estimate(cts:search(fn:doc(), cts:and-query(($query, $text-query, $sent-query))))
xdmp:estimate(cts:search(fn:doc(), cts:and-not-query(cts:and-query(($query, $text-query)), $sent-query)))
ここで、 $text-query := cts:word-query("coke")
$sent-query := cts:and-query((cts:element-range-query(xs:QName("score_id"),">=",$lowValue), cts:element-range-query(xs:QName) ("score_id"),"<",$hiValue)))
$query := cts:word-query("ダイエット コーク")
$lowValue:= 13264683002210000000;
$hiValue := 13264683002211000000;
両方のセット (クエリ番号 1 と 2) について、いくつかのカウントxdmp:estimate
を取得していますが、一部を削除するとcts:search()
、クエリ 1の場合は xml が返されます。2、空のシーケンスを取得しています。
私の質問は、xml が返されない場合、クエリ番号のノードをcts:search
どのようにカウントできるかということです。2 ??xdmp:estimate
はcts:and-not-query
快適ではありませんがcts:element-range-query
、???
xdmp:estimate
注意:エラーなしでいくつかのカウントを取得しています。フィールド「 score_id 」に対して範囲インデックスが作成されます。