Loading TOC...


   $positive-query as cts.query,
   $negative-query as cts.query
) as cts.andNotQuery


Returns a query specifying the set difference of the matches specified by two sub-queries.

$positive-query A positive query, specifying the search results filtered in.
$negative-query A negative query, specifying the search results to filter out.

Usage Notes

The cts:and-not-query constructor is fragment-based, so it returns true only if the specified query does not produce a match anywhere in a fragment. Therefore, a search using cts:and-not-query is only guaranteed to be accurate if the underlying query that is being negated is accurate from its index resolution (that is, if the unfiltered results of the $negative-query parameter to cts:not-query are accurate). The accuracy of the index resolution depends on many factors such as the query, if you search at a fragment root (that is, if the first parameter of cts:search specifies an XPath that resolves to a fragment root), the index options enabled on the database, the search options, and other factors. In cases where the $negative-query parameter has false positive matches, the negation of the query can miss matches (have false negative matches). In these cases, searches with cts:and-not-query can miss results, even if those searches are filtered.


  => .. 12 Shakespeare Plays contain some text node with the word
  'summer' BUT NOT the word 'glorious'.

Stack Overflow iconStack Overflow: Get the most useful answers to questions from the MarkLogic community, or ask your own question.


The commenting feature on this page is enabled by a third party. Comments posted to this page are publicly visible.